在WM6.5上用drawstring如何绘出旋转90度的文字

jsust 2010-11-21 01:08:31
如题,请高手指点
...全文
156 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pebeeye 2010-11-30
  • 打赏
  • 举报
回复
用二楼说的
微软里的确是那个类来自己创建自己的样式的文字的。
可以360角度的旋转
看看MSDN吧,很好用
我也做过demo
jsust 2010-11-29
  • 打赏
  • 举报
回复
编译好的程序在6.0上运行正常,在6.5上不行。
现在我没有文字转90度了,直接把屏幕转90度,效果还不错
blue601 2010-11-29
  • 打赏
  • 举报
回复
3.5?你直接开发wm6.0。也能用在wm6.5上跑
jsust 2010-11-28
  • 打赏
  • 举报
回复
blue601:
你给的例子是将文字绘到图形上,再将图形绘到窗体上。我想要的是直接drawstring到窗体上。

我试了发现直接drawstring到窗体上在netCF2.0上是好的,而在netCF3.5上就出现上面图示的情况了。

blue601 2010-11-28
  • 打赏
  • 举报
回复
Joe-xXx 2010-11-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiangyongtao 的回复:]

可以设置逻辑字体:LogFont 来描画。
具体楼主参考下MSDN,很详细:
http://msdn.microsoft.com/zh-cn/library/ms404359(VS.90).aspx
[/Quote]

如果你有DotNET CF在WindowsCE命名空间下已经提供了逻辑字体,其实还可以通过PInvoke GDI的API完成。

注意调整空间,让旋转后字体有足够空间显示
blue601 2010-11-27
  • 打赏
  • 举报
回复
我刚上传了,得审核通过才能显示?有空楼主去看看吧
http://blue601.download.csdn.net/

对了,这个不是WM6.5,但主要是看代码吧,毕竟得看懂了才能用嘛,应该和WM6.5是共同的
jsust 2010-11-26
  • 打赏
  • 举报
回复
blue601 等你哦
blue601 2010-11-26
  • 打赏
  • 举报
回复
记得我见过这样的例子,回家给你找找去
jsust 2010-11-25
  • 打赏
  • 举报
回复
jiangyongtao 你好:

我还遇到以下问题,文字旋转后显示不完全,如图所示旋转45度、90度时的样子


请问怎么解决?

代码如下:
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
LogFont lf;
Font myFont;

lf = new LogFont();
lf.Height = -32;
lf.Width = 0;
lf.Escapement = 0;
lf.Orientation = 0;
lf.Weight = (LogFontWeight)0;
lf.Italic = 0;
lf.Underline = 0;
lf.StrikeOut = 0;
lf.CharSet = LogFontCharSet.Default;
lf.OutPrecision = LogFontPrecision.Default;
lf.ClipPrecision = LogFontClipPrecision.Default;
lf.Quality = LogFontQuality.Default;
lf.PitchAndFamily = LogFontPitchAndFamily.Default;
lf.FaceName ="";
myFont = Font.FromLogFont(lf);

e.Graphics.DrawString("卫星云图", myFont, new SolidBrush(Color.Black), 200, 500, new StringFormat(StringFormatFlags.NoWrap | StringFormatFlags.NoClip));


lf.Escapement = 450;
lf.Orientation = 450;
myFont = Font.FromLogFont(lf);

e.Graphics.DrawString("卫星云图", myFont, new SolidBrush(Color.Black), 200, 500, new StringFormat(StringFormatFlags.NoWrap | StringFormatFlags.NoClip));

lf.Escapement = 900;
lf.Orientation = 900;
myFont = Font.FromLogFont(lf);

e.Graphics.DrawString("卫星云图", myFont, new SolidBrush(Color.Black), 200, 500, new StringFormat(StringFormatFlags.NoWrap | StringFormatFlags.NoClip));

}
beyondma 2010-11-21
  • 打赏
  • 举报
回复
最简单的方法是,先画到一张图片上,在贴到窗体上。
世外涛缘 2010-11-21
  • 打赏
  • 举报
回复
可以设置逻辑字体:LogFont 来描画。
具体楼主参考下MSDN,很详细:
http://msdn.microsoft.com/zh-cn/library/ms404359(VS.90).aspx

7,657

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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