c# Graphics问题

1Graphics类怎么让字旋转?2如何清除FORM类上画的线?没找到--!不是首先我是对FORM类加载时才去显示的就是说`privatevoidForm1_Load(o... 1 Graphics类 怎么让字 旋转?
2 如何清除 FORM类上画的线? 没找到 - -!
不是 首先我是对 FORM类 加载时才去显示的 就是说`
private void Form1_Load(object sender, EventArgs e)
{
suiJi_Load();
}
在这里 执行 随即码的 但如果还没创建就删除 是不行的````
展开
 我来答
百度网友dc91b32
2008-05-05 · TA获得超过5650个赞
知道大有可为答主
回答量:5653
采纳率:0%
帮助的人:0
展开全部
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(...);
ssweiwei
2008-05-05 · 超过33用户采纳过TA的回答
知道答主
回答量:205
采纳率:0%
帮助的人:0
展开全部
clear ?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式