[叩响C#之门]写给初学者:平移变换2011-10-17 梁斌玉 17.9 坐标变换默认情况下,坐标系的原点位于视图区域的左上角,水平方向为x轴,竖直方向为y轴。但有时候我们 需要改变坐标轴的位置或方向,这时就需要坐标变换。常用的坐标变换有平移变换、旋转变换和伸缩变换 三种。17.9.1 平移变换平移变换是指把坐标系的原点由一个位置平移到另一个位置,我们可以通过Graphics 类的 TranslateTransform()方法实现平移变换。下面我们通过一个示例来说明怎样进行平移变换。

图17-16 “坐标变换”窗口新建一个名为“Transform”的项目,然后按如下步骤添加控件:1.如图17-16所示,添加3个按钮。现在为“平移变换”按钮添加事件处理程序。试一试::平移变换
//平移变换
private void translateTransformButton_Click(object sender, EventArgs e)
{
//将要绘制的矩形
Rectangle redRectangle = new Rectangle(new Point(0, 0), new Size(120, 80));
//在原坐标系中绘制图形
Graphics g = CreateGraphics();
g.FillRectangle(Brushes.Red, redRectangle);
//在新坐标系中绘制图形
g.TranslateTransform(150, 120);
g.FillRectangle(Brushes.Red, redRectangle);
}