Gdi+属性设置

来源:互联网 发布:uninstall windows me 编辑:程序博客网 时间:2024/05/07 10:08

一个项目中要进行字体锯齿消除,所以使用了gdi+,过程中花了好长时间才找到gdi+的一些属性设置接口,mark于此。

 首先是可以使用的代码:

1 用GDI+写字到界面实现当字符串长度大于rect的长度时,自动节断字符串,并在后边以“...“补充

 sf.SetTrimming( StringTrimmingEllipsisCharacter );调用即可,类似gdi接口中nType |= DT_MODIFYSTRING | DT_END_ELLIPSIS;的效果。

2 设置只显示单行属性

sf.SetFormatFlags( StringFormatFlagsNoWrap );,类似gdi中的nType |= DT_SINGLELINE;

3 消锯齿

graph.SetTextRenderingHint(TextRenderingHint(TextRenderingHintAntiAlias));

4 替代数字接口

StringDigitSubstitute;不知道这个接口有什么用,表现是可以将一个字符串中的数字用一些 不知道什么的东西 进行替换。

5 对齐方式:StringAlignment,左中右。

遗留问题:

gdi中用DC绘制时指定字体高假如为20, 使用gdi+绘制时同样有字体,如果设置成20则画出来的字大小不同,gdi中的dc默认使用的是MM_TEXT,按道理gdi+的字体设置只要设置成UnitPixel即可。都表示一个逻辑单位代表一个像素点。不过还是不正确,不知道为啥。 

原创粉丝点击