`
SunnyYoona
  • 浏览: 365611 次
社区版块
存档分类
最新评论

[C#] Graphics平移缩放旋转

 
阅读更多

【平移】

private void btnTranslate_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            // 红色笔
            Pen pen = new Pen(Color.Red, 5);
            Rectangle rect = new Rectangle(0, 0, 200, 50);
            // 用红色笔画矩形
            graphics.DrawRectangle(pen, rect);
            // 向左平移100向下平移50
            graphics.TranslateTransform(100,50);
            // 蓝色笔
            pen.Color = Color.Blue;
            // 用蓝色笔重新画平移之后的矩形
            graphics.DrawRectangle(pen, rect);
            graphics.Dispose();
            pen.Dispose();
        }


【缩放】

private void btnScale_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            // 红色笔
            Pen pen = new Pen(Color.Red, 5);
            Rectangle rect = new Rectangle(0, 0, 200, 50);
            // 用红色笔画矩形
            graphics.DrawRectangle(pen, rect);
            graphics.ScaleTransform(0.5f, 2);
            // 蓝色笔
            pen.Color = Color.Blue;
            // 用蓝色笔重新画平移之后的矩形
            graphics.DrawRectangle(pen, rect);
            graphics.Dispose();
            pen.Dispose();
        }


宽缩小一半,高放大一倍

【旋转】

private void btnTraslate_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            // 红色笔
            Pen pen = new Pen(Color.Red, 5);
            Rectangle rect = new Rectangle(0, 0, 200, 50);
            // 用红色笔画矩形
            graphics.DrawRectangle(pen, rect);
            graphics.TranslateTransform(200,0);
            graphics.RotateTransform(90);
            // 蓝色笔
            pen.Color = Color.Blue;
            // 用蓝色笔重新画平移之后的矩形
            graphics.DrawRectangle(pen, rect);
            graphics.Dispose();
            pen.Dispose();
        }




坐标原点为矩形的左上点。






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics