GDI+ 学习记录(22): 输出文本
2007-12-27 20:23
381 查看
//输出文本 var g: TGPGraphics; sb: TGPSolidBrush; fontFamily: TGPFontFamily; font: TGPFont; begin g := TGPGraphics.Create(Canvas.Handle); sb := TGPSolidBrush.Create(MakeColor(0,0,255)); fontFamily := TGPFontFamily.Create('宋体'); font := TGPFont.Create(fontFamily, 48, FontStyleRegular, UnitPixel); {参数 3 参考: 文本样式类型表; 参数 4 参考: 坐标单位类型表} g.DrawString('Hello World!', -1, font, MakePoint(10.0,10.0), sb); {参数 2 是输出文本的长度, -1 表示全部输出; 参数 4 中的坐标不能用整数, 因为函数指定类型是: TGPRectF} sb.Free; fontFamily.Free; font.Free; g.Free; end; //简单输出文本 var g: TGPGraphics; sb: TGPSolidBrush; font: TGPFont; begin g := TGPGraphics.Create(Canvas.Handle); sb := TGPSolidBrush.Create(MakeColor(255,0,0)); font := TGPFont.Create('宋体',32.0); g.DrawString('再见, 2007!', -1, font, MakePoint(10.0,10.0), sb); sb.Free; font.Free; g.Free; end; //使用窗体字体属性输出文本 var g: TGPGraphics; sb: TGPSolidBrush; font: TGPFont; begin g := TGPGraphics.Create(Canvas.Handle); sb := TGPSolidBrush.Create(MakeColor(255,0,0)); font := TGPFont.Create(Self.Canvas.Handle); //根据窗体的字体属性建立 g.DrawString('再见, 2007!', -1, font, MakePoint(10.0,10.0), sb); sb.Free; font.Free; g.Free; end; //文本呈现质量 var g : TGPGraphics; FontFamily: TGPFontFamily; Font: TGPFont; sb: TGPSolidBrush; begin g := TGPGraphics.Create(Canvas.Handle); FontFamily := TGPFontFamily.Create('Times New Roman'); Font := TGPFont.Create(FontFamily, 32, FontStyleRegular, UnitPixel); sb := TGPSolidBrush.Create(MakeColor(255, 0, 0, 255)); g.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel); g.DrawString('SingleBitPerPixel', -1, font, MakePoint(10.0, 10.0), sb); g.SetTextRenderingHint(TextRenderingHintAntiAlias); g.DrawString('AntiAlias', -1, font, MakePoint(10.0, 60.0), sb); g.Free; FontFamily.Free; Font.Free; sb.Free; end;
文本样式类型表:
Delphi | 微软 | 说明 |
---|---|---|
FontStyleBold | Bold | 加粗文本。 |
FontStyleItalic | Italic | 倾斜文本。 |
FontStyleRegular | Regular | 普通文本。 |
FontStyleStrikeout | Strikeout | 中间有直线通过的文本。 |
FontStyleUnderline | Underline | 带下划线的文本。 |
Delphi | 微软 | 说明 |
---|---|---|
UnitDisplay | Display | 指定显示设备的度量单位。通常,视频显示使用的单位是像素;打印机使用的单位是 1/100 英寸。 |
UnitDocument | Document | 将文档单位(1/300 英寸)指定为度量单位。 |
UnitInch | Inch | 将英寸指定为度量单位。 |
UnitMillimeter | Millimeter | 将毫米指定为度量单位。 |
UnitPixel | Pixel | 将设备像素指定为度量单位。 |
UnitPoint | Point | 将打印机点(1/72 英寸)指定为度量单位。 |
UnitWorld | World | 将世界坐标系单位指定为度量单位。 |
Delphi | 微软 | 说明 |
---|---|---|
TextRenderingHintAntiAlias | AntiAlias | 在无提示的情况下使用每个字符的消除锯齿效果标志符号位图来绘制字符。由于采用了 AntiAlias,质量会得到改善。由于关闭了提示,主干宽度差可能会比较明显。 |
TextRenderingHintAntiAliasGridFit | AntiAliasGridFit | 在有提示的情况下使用每个字符的消除锯齿效果标志符号位图来绘制字符。由于采用了 AntiAlias,质量会得到大大改善,但同时会增加性能成本。 |
TextRenderingHintClearTypeGridFit | ClearTypeGridFit | 在有提示的情况下使用每个字符的标志符号 ClearType 位图来绘制字符。这是质量最高的设置。用于利用 ClearType 字体功能。 |
TextRenderingHintSingleBitPerPixel | SingleBitPerPixel | 使用每个字符的标志符号位图来绘制字符。不使用提示。 |
TextRenderingHintSingleBitPerPixelGridFit | SingleBitPerPixelGridFit | 使用每个字符的标志符号位图来绘制字符。提示用于改善字符在主干和弯曲部分的外观。 |
TextRenderingHintSystemDefault | SystemDefault | 在有系统默认呈现提示的情况下使用每个字符的标志符号位图来绘制字符。将采用用户为系统选择的任何字体修匀设置来绘制文本。 |
相关文章推荐
- GDI+ 学习记录(22) 输出文本1
- GDI+ 学习记录(23) 输出文本2
- GDI+ 学习记录(23): 输出文本
- GDI+ 学习记录(24) 输出文本3
- GDI+ 学习记录(24): 输出文本
- GDI+学习记录之输出文本
- swift学习记录(函数--输入输出参数)
- GDI+学习记录(9)- 单色画刷 SolidBrush
- [学习记录]Android中的Audio播放:控制Audio输出通道切换
- Flask学习记录之MarkDown编辑文本
- GDI+学习记录(7)- 直线连接点 LineJoin
- python 报表文档输出学习 记录
- 【UE4学习】22_C++输出字符串及FString字符串转换
- Kotlin学习记录(一)——搭建环境到输出Hello World!
- GDI+ 学习记录(2): 画笔线帽 - Cap
- GDI+ 学习记录(7): 实心画刷 - SolidBrush
- GDI+ 学习记录(15): 多边形 - Polygon
- GDI+ 学习记录(27): Bitmap
- MySQL学习足迹记录09--常用文本,日期,数值处理函数
- GDI+ 学习记录(11) 路径渐变画刷 - PathGradientBrush