[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();
        }

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

时间: 2024-10-31 04:43:17

[C#] Graphics平移缩放旋转的相关文章

交互式QGraphicsView(平移/缩放/旋转)

简述 Graphics View提供了一个平台用于大量自定义 2D 图元的管理与交互框架包括一个事件传播架构支持场景 Scene 中的图元 Item 进行精确的双精度交互功能.Item 可以处理键盘事件.鼠标按下.移动.释放和双击事件同时也能跟踪鼠标移动. 和 Google 地图一样在管理大量 Item 的时候通常需要 View 具有交互平移/缩放/旋转功能. 简述 交互式 QGraphicsView 效果 源码 交互式 QGraphicsView 便于以后复用实现一个交互式 QGraphics

WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示

原文:WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示 为方便描述, 这里仅以正方形来做演示, 其他图形从略. 运行时效果图: XAML代码:// Transform.XAML <Canvas Width="700" Height="700" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://sc

Android实现对图片放大、平移和旋转的功能_Android

先来看看要实现的效果图 在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识. 关于实现的流程      1.自定义View      2.获得操作图片的Bitmap      3.复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件.      4.定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix.      5.

Android实现对图片放大、平移和旋转的功能

先来看看要实现的效果图 在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识. 关于实现的流程 1.自定义View 2.获得操作图片的Bitmap 3.复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件. 4.定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix. 5.完成最终的Matrix设置时,通过invalida

MDX之平移与旋转(1)

做项目一年,虽然说没有学得很好,但一年来,自己学的东西也比较多,也有了一些经验,正如我前面说的现在没有事做就多写,等过两天就不会有这么多的时间了,项目一开始,那可就没有多少时间了. 我做的那个项目是地质相关的项目,就会有一些必不可少的图形的显示,二维方面老师自己做的非常好了,但在3D方面大家都没有什么经验,就只有靠自己去摸索了,在自己摸索的过程中,最头疼的就是没有资料,在就是问别人没有一个人回答你,问了别人还被说成叫自己去按书一步一步敲例子,把人都气死,好了,我现在就将我在学习的时候遇到的两个困

图像处理-识别具有平移,旋转的图像,并与图像比对,粗率计算出平移度与旋转度

问题描述 识别具有平移,旋转的图像,并与图像比对,粗率计算出平移度与旋转度 给出一张发生了旋转和平移的图像,和源图像进行比对,计算旋转了多少度,平移了多少,且两张图片并不是完全一样的,,略有差别 解决方案 http://www.cesclub.com/bw/jishuzhongxin/bianchengyuyan/2013/0313/56734.html 解决方案二: 你百度搜索一下"傅里叶梅林变换",可以找到好多资料.可以对旋转和平移的相似图像进行配置.能够计算出平移量和旋转.

旋转 文字添加-android 自定义edittext 拖动缩放旋转

问题描述 android 自定义edittext 拖动缩放旋转 最近在做一个拼图的项目,要求在一张背景图上添加文字,文字可编辑如修改颜色.样式.字体等,也可对文字的位置进行修改,实现拖动.旋转.缩放等功能,类似于美图秀秀中文字的添加,最后可将背景图和文字联合生成一张图片,保存到相册中,本人是菜鸟,求高手指教,如果有简单的demo的话,那就不胜感激. 解决方案 你好 请问解决了没有 请赐教

html5用transform来实现位移,缩放,旋转实例

前面我讲过在canvas中实现图形的变换,这是比较简单的,因为都是用的直观的函数.今天我还是要实现同样的图形变化效果,但不同的是我要用一个看起来就让人心碎的方法,就是transform,也就是矩阵matrix. 其实我对Matrix的认识只限于他是一部很好看的电影(即黑客帝国),在没看此电影前,我根本不知道有矩阵这个名字,而且矩阵这名字又不霸气,我听了除了不明白为什么要叫这么个怪名字之外没什么感觉;看了电影,然后又知道矩阵是个数学上的东西后,我就知道要糟,作为一个数学白痴的我希望永远不要和矩阵打

比例尺、缩略图、平移缩放之百度地图添加控件方法_javascript技巧

下面通过图文并茂的方式给大家详细介绍下比例尺.缩略图.平移缩放之百度地图添加控件方法. 地图控件概述 百度地图上负责与地图交互的UI元素称为控件.百度地图API中提供了丰富的控件,您还可以通过Control类来实现自定义控件. 地图API中提供的控件有: Control:控件的抽象基类,所有控件均继承此类的方法.属性.通过此类您可实现自定义控件. NavigationControl:地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能.移动端提供缩放控件,默认位于地图右下