c# Graphics问题
1Graphics类怎么让字旋转?2如何清除FORM类上画的线?没找到--!不是首先我是对FORM类加载时才去显示的就是说`privatevoidForm1_Load(o...
1 Graphics类 怎么让字 旋转?
2 如何清除 FORM类上画的线? 没找到 - -!
不是 首先我是对 FORM类 加载时才去显示的 就是说`
private void Form1_Load(object sender, EventArgs e)
{
suiJi_Load();
}
在这里 执行 随即码的 但如果还没创建就删除 是不行的```` 展开
2 如何清除 FORM类上画的线? 没找到 - -!
不是 首先我是对 FORM类 加载时才去显示的 就是说`
private void Form1_Load(object sender, EventArgs e)
{
suiJi_Load();
}
在这里 执行 随即码的 但如果还没创建就删除 是不行的```` 展开
2个回答
展开全部
1 Graphics类 怎么让字 旋转?
设置Graphics的变换矩阵,具体如下:
在老式的Windows图形设备接口中制作旋转文字会是一件痛苦费力的工作,但在.NET中它会变得很简单。
by Bill Wagner
图1.在.NET中旋转文字
还记得在典型的Windows程序中用GDI(一种老式的图形设备API)来实现文字旋转是件多么麻烦的事吗?首先你得设置旋转字体 - 它只能在几种平台下实现。而当你想要将文字居中显示的时候会更麻烦,因为显示该段文字大小的函数对旋转字体不起作用。你必须将文字水平放置,再测量其大小,然后建一个新的旋转字体,最后把它画出来。
使用GDI+会大大地简化操作过程。Microsoft在新的图形设备接口实现中创建了一种一致的图形模型,它通过一套C++类来实现。
我写了一个简单的例子来说明用GDI+实现文字旋转是多么地容易。在例子中我把文字画在窗体的中间位置,它能够以任何角度进行旋转。GDI+中的两个特性使绘制过程变得简单:图形平移(graphics translations)和图形旋转(graphics rotations)。
要将文字居中显示,只需转换坐标系(coordinates)使原点(origin)置于窗体的中间位置: Size sz = MyWindow.Size;
Point Middle = new Point (sz.Width / 2,
sz.Height / 2);
e.Graphics.TranslateTransform
(Middle.X, Middle.Y);
通过继续变换来实现简单的旋转: e.Graphics.RotateTransform (_angle);
当位置调整好以后,你就可以绘制文字了: StringFormat format = new StringFormat
(StringFormatFlags.NoClip);
format.Alignment =
StringAlignment.Center;
format.LineAlignment =
StringAlignment.Center;
e.Graphics.DrawString
("A simple TextString ", f,
Brushes.Black, 0, 0, format);
StringFormat对象控制着该字符串的对齐方式。这里,我选中了居中位置。
现在你能够以任何角度旋转字体了。在运行这段代码时,你会发现当它旋转到正45度角的时候,看起来却像是负45度角(见图1)。记住在GDI中标准的坐标系是y坐标向下的,在这种坐标系上,正角度的旋转是沿水平轴顺时针旋转的。
从这个例子可以看出,使用.NET的GDI+ API使得图形处理变得更简单更一致。点此下载源代码并修改转换角度。你会发现你能够以任何角度在任何平台绘制文字,这同样适用于以任何角度旋转任何其他形状的图形。
2 如何清除 FORM类上画的线? 没找到 - -!
Graphics.Clear(...);
设置Graphics的变换矩阵,具体如下:
在老式的Windows图形设备接口中制作旋转文字会是一件痛苦费力的工作,但在.NET中它会变得很简单。
by Bill Wagner
图1.在.NET中旋转文字
还记得在典型的Windows程序中用GDI(一种老式的图形设备API)来实现文字旋转是件多么麻烦的事吗?首先你得设置旋转字体 - 它只能在几种平台下实现。而当你想要将文字居中显示的时候会更麻烦,因为显示该段文字大小的函数对旋转字体不起作用。你必须将文字水平放置,再测量其大小,然后建一个新的旋转字体,最后把它画出来。
使用GDI+会大大地简化操作过程。Microsoft在新的图形设备接口实现中创建了一种一致的图形模型,它通过一套C++类来实现。
我写了一个简单的例子来说明用GDI+实现文字旋转是多么地容易。在例子中我把文字画在窗体的中间位置,它能够以任何角度进行旋转。GDI+中的两个特性使绘制过程变得简单:图形平移(graphics translations)和图形旋转(graphics rotations)。
要将文字居中显示,只需转换坐标系(coordinates)使原点(origin)置于窗体的中间位置: Size sz = MyWindow.Size;
Point Middle = new Point (sz.Width / 2,
sz.Height / 2);
e.Graphics.TranslateTransform
(Middle.X, Middle.Y);
通过继续变换来实现简单的旋转: e.Graphics.RotateTransform (_angle);
当位置调整好以后,你就可以绘制文字了: StringFormat format = new StringFormat
(StringFormatFlags.NoClip);
format.Alignment =
StringAlignment.Center;
format.LineAlignment =
StringAlignment.Center;
e.Graphics.DrawString
("A simple TextString ", f,
Brushes.Black, 0, 0, format);
StringFormat对象控制着该字符串的对齐方式。这里,我选中了居中位置。
现在你能够以任何角度旋转字体了。在运行这段代码时,你会发现当它旋转到正45度角的时候,看起来却像是负45度角(见图1)。记住在GDI中标准的坐标系是y坐标向下的,在这种坐标系上,正角度的旋转是沿水平轴顺时针旋转的。
从这个例子可以看出,使用.NET的GDI+ API使得图形处理变得更简单更一致。点此下载源代码并修改转换角度。你会发现你能够以任何角度在任何平台绘制文字,这同样适用于以任何角度旋转任何其他形状的图形。
2 如何清除 FORM类上画的线? 没找到 - -!
Graphics.Clear(...);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询