winform绘制旋转字体的问题

liao5930 2011-06-27 03:46:43
我GDI+绘制了旋转角度的文字,但是旋转后的文字非常不清晰,甚至看不清楚是什么字,请问如何解决这个问题,谢谢
代码如下:
Graphics g = this.CreateGraphics();
g.TranslateTransform(100,100);
g.RotateTransform(30F);
g.DrawString("深圳市",this.Font,Brushes.Black,new PointF(199F,150F));
...全文
203 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yalan 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liao5930 的回复:]
TO yalan:
WPF确实是好,但我这里不方便用这个,非常感谢
[/Quote]

那就混搭,需要绘图的时候WPF,平时还是winform
liao5930 2011-06-27
  • 打赏
  • 举报
回复
TO yalan:
WPF确实是好,但我这里不方便用这个,非常感谢
yalan 2011-06-27
  • 打赏
  • 举报
回复

刚做的,一行代码搞定:
<Grid.LayoutTransform>
<RotateTransform Angle="40"/>
</Grid.LayoutTransform>
这就OK了,想怎么旋转都行


我当时是为了这个窗体动画翻转才学习WPF的,没想到WPF处理图形实在太强大了

如图,我的这个程序窗体所有的东西都是镜像的,输入的文字都是镜像的,这一点GDI绘图是无论如何都无法完成的,即使能有牛人做成,效率也不能和WPF相比。

所以,如果你要处理图形数据,还是WPF把
yalan 2011-06-27
  • 打赏
  • 举报
回复
那就只有WPF了,WPF堪称完美啊~~~
liao5930 2011-06-27
  • 打赏
  • 举报
回复
TO:yalan
加上g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; 仍然会有锯齿
liao5930 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xpcxpy 的回复:]
Font的字体大小太小了
[/Quote]
不关字体事!
yalan 2011-06-27
  • 打赏
  • 举报
回复
如果你常需要此类操作,那么还是用WPF重新开发吧,我就是因为窗体翻转问题现在转到WPF上来的呵呵

你这个问题可以参考以下代码:

private void Form1_Paint(object sender, PaintEventArgs e)
{
//旋转显示文字
Graphics g = e.Graphics;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
for (int i = 0; i <= 360; i += 10)
{
//平移Graphics对象到窗体中心
g.TranslateTransform(this.Width / 2, this.Height / 2);
//设置Graphics对象的输出角度
g.RotateTransform(i);
//设置文字填充颜色
Brush brush = Brushes.DarkViolet;
//旋转显示文字
g.DrawString("......MINGRISOFT", new Font("Lucida Console", 11f), brush, 0, 0);
//恢复全局变换矩阵
g.ResetTransform();
}
}
xpcxpy 2011-06-27
  • 打赏
  • 举报
回复
Font的字体大小太小了

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧