为什么80%的码农都做不了架构师?>>>   

//在矩形范围中显示文本
varg: TGPGraphics;fontFamily: TGPFontFamily;font: TGPFont;rectF: TGPRectF;p: TGPPen;sb: TGPSolidBrush;str: WideString;
beging := TGPGraphics.Create(Canvas.Handle);fontFamily:= TGPFontFamily.Create('宋体');font:= TGPFont.Create(fontFamily, 9, FontStyleRegular, UnitPoint);p := TGPPen.Create(aclRed);sb:= TGPSolidBrush.Create(MakeColor(255, 0, 0, 0));rectF:= MakeRect(10.0, 10.0, 116.0, 100.0); {包含文本的矩形范围}str := '万一万一万一万一万一万一万一万一万一万一万一万一万一万一万一';g.DrawRectangle(p, rectF);g.DrawString(str, -1, font, rectF, nil, sb);{参数4不能用TGPRect,只能是TGPRectF; 参数5是文字格式对象,后面举例}fontFamily.Free;font.Free;p.Free;sb.Free;g.Free;
end;//设置对齐方式
varg: TGPGraphics;str: String;fontFamily: TGPFontFamily;font: TGPFont;rectF: TGPRectF;strFormat: TGPStringFormat;sb: TGPSolidBrush;p: TGPPen;
beging := TGPGraphics.Create(Canvas.Handle);fontFamily:= TGPFontFamily.Create('Arial');font:= TGPFont.Create(fontFamily, 12, FontStyleBold, UnitPoint);rectF:= MakeRect(30.0, 10.0, 120.0, 140.0);sb:= TGPSolidBrush.Create(MakeColor(255, 0, 0, 255));strFormat:= TGPStringFormat.Create;strFormat.SetAlignment(StringAlignmentCenter);     {设置左右对齐方式}strFormat.SetLineAlignment(StringAlignmentCenter); {设置垂直对齐方式}str := 'wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy';g.DrawString(str, -1, font, rectF, strFormat, sb);p:= TGPPen.Create(MakeColor(255, 0, 0, 0));g.DrawRectangle(p, rectF);fontFamily.Free;font.Free;strFormat.Free;sb.Free;p.Free;g.Free;
end;//使用格式化标志创建文本格式化对象
varg: TGPGraphics;str: String;fontFamily: TGPFontFamily;font: TGPFont;rectF: TGPRectF;strFormat: TGPStringFormat;sb: TGPSolidBrush;p: TGPPen;
beging := TGPGraphics.Create(Canvas.Handle);fontFamily:= TGPFontFamily.Create('Arial');font:= TGPFont.Create(fontFamily, 12, FontStyleBold, UnitPoint);rectF:= MakeRect(30.0, 10.0, 120.0, 140.0);sb:= TGPSolidBrush.Create(MakeColor(255, 0, 0, 255));strFormat:= TGPStringFormat.Create(StringFormatFlagsDirectionRightToLeft);{使用格式化标志创建文本格式化对象}str := 'wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy';g.DrawString(str, -1, font, rectF, strFormat, sb);p:= TGPPen.Create(MakeColor(255, 0, 0, 0));g.DrawRectangle(p, rectF);fontFamily.Free;font.Free;strFormat.Free;sb.Free;p.Free;g.Free;
end;

文本对齐方式:

Delphi 微软 说明
StringAlignmentCenter  Center  指定文本在布局矩形中居中对齐。
StringAlignmentFar Far 指定文本远离布局矩形的原点位置对齐。在左到右布局中,远端位置是右。在右到左布局中,远端位置是左。
StringAlignmentNear Near 指定文本靠近布局对齐。在左到右布局中,近端位置是左。在右到左布局中,近端位置是右。

文本格式化标志:

Delphi 微软 说明
StringFormatFlagsDirectionRightToLeft DirectionRightToLeft 按从右向左的顺序显示文本。
StringFormatFlagsDirectionVertical DirectionVertical 文本垂直对齐。
StringFormatFlagsDisplayFormatControl DisplayFormatControl 控制字符(如从左到右标记)随具有代表性的标志符号一起显示在输出中。
StringFormatFlagsFitBlackBox FitBlackBox 允许部分字符延伸该字符串的布局矩形。默认情况下,将重新定位字符以避免任何延伸。
StringFormatFlagsLineLimit LineLimit 在格式化的矩形中只布置整行。默认情况下,这种布置要继续到文本的结尾为止,或者到由于剪辑而不再有可见的行为止,看哪一种情况先发生。注意,此默认设置允许不是行高整数倍的格式化矩形将最后一行部分地遮住。若要确保看到的都是整行,请指定此值,并仔细地提供格式化矩形,使其高度至少为一个行高。
StringFormatFlagsMeasureTrailingSpaces  MeasureTrailingSpaces  包括每一行结尾处的尾随空格。在默认情况下,MeasureString 方法返回的边框都将排除每一行结尾处的空格。设置此标记以便在测定时将空格包括进去。
StringFormatFlagsNoClip NoClip 允许显示标志符号的伸出部分和延伸到边框外的未换行文本。在默认情况下,延伸到边框外侧的所有文本和标志符号部分都被剪裁。
StringFormatFlagsNoFontFallback NoFontFallback 对于请求的字体中不支持的字符,禁用回退到可选字体。缺失的任何字符都用缺失标志符号的字体显示,通常是一个空的方块。
StringFormatFlagsNoWrap NoWrap 在矩形内设置格式时,禁用文本换行功能。当传递的是点而不是矩形时,或者指定的矩形行长为零时,已隐含此标记。

转载于:https://my.oschina.net/hermer/blog/320330

GDI+ 学习记录(23): 输出文本相关推荐

  1. css学习记录三:文本属性

    css学习记录三:CSS文本属性 一.文本属性的作用 二.文本颜色 三.文本对齐 四.装饰文本 五.文本缩进 六.行间距 一.文本属性的作用 CSSS Text(文本)属性可定义文本的外观,比如文本的 ...

  2. GDI+学习记录(16)-字体Font

    字体,对于大部分人来说都不陌生,在文本编辑软件中(如 Word)字体是必不可少的,同样,在GDI+中,绘制字符串也是需要字体的.在介绍字体Font类的使用之前,先引入一些与其有关的类或者枚举: (1) ...

  3. GDI+学习记录(10)- 影线画刷HatchBrush

    影线画刷(HatchBrush)的基本使用: private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Gr ...

  4. 2023.2.9,周四【图神经网络 学习记录23】动态图算法 之 SGNN(DGNN):更新组件(update component),传播组件(propagation component)

    路虽远,行则将至. 声明:仅学习使用. 前情提要: 2023.2.9,周四[图神经网络 学习记录22]动态图算法 之 EvolveGCN:离散型动态GNN网络,将GNN和RNN结合到同一层,结合时间和 ...

  5. GDI+ 学习记录(28): 图像颜色的数据格式 - PixelFormat

    //指定位图颜色 varg,gbit: TGPGraphics;bit1,bit2: TGPBitmap;sb: TGPSolidBrush; begin//Self.Color := clWhite ...

  6. Flutter学习记录——23.实现一个类似淘宝的商品展示页面

    文章目录 1.知识整理 2.应用编写 2.1 应用编写目标 2.2 应用浏览 2.3 应用分析 2.4 应用实现 3.总结 经过前面两大部分的详细讲解,相信大家对大部分的布局方式.组件的使用.逻辑业务 ...

  7. GDI+ 学习记录(3): 虚线画笔 - Dash

    为什么80%的码农都做不了架构师?>>>    //虚线样式 varg: TGPGraphics;p: TGPPen; beging := TGPGraphics.Create(Ca ...

  8. GDI+ 学习记录(11): 路径渐变画刷 - PathGradientBrush

    为什么80%的码农都做不了架构师?>>>    //路径渐变画刷 varg: TGPGraphics;path: TGPGraphicsPath;pb: TGPPathGradien ...

  9. GDI+ 学习记录(27): Bitmap

    为什么80%的码农都做不了架构师?>>>    //用 Bitmap 显示图像 varg: TGPGraphics;bit: TGPBitmap; beging := TGPGrap ...

最新文章

  1. Pandas中DataFrame的属性及方法大全
  2. mysql relay log时间_如何得到Slave应用relay-log的时间
  3. CF1004F Sonya and Bitwise OR
  4. YYYY-mm-dd HH:MM:SS大小写解释
  5. 02-body标签中相关标签
  6. python脚本微博自动转发抽奖_微博自动转发抽奖软件
  7. LPC845-BRK开发板运行Blinky示例程序
  8. VOC数据集介绍及构建自己的VOC格式目标检测数据集
  9. 如何使用代理服务器上网
  10. 服务熔断降级什么意思?
  11. 微信小程序列表首字母排序并根据字母定位
  12. 浅谈Redis数据类型
  13. 这个AR/VR设计原型利器,爆赞
  14. MBA心路历程第一天 —— 开始行动
  15. 多edittext监听变化的优化
  16. C语言制作-QQ聊天室
  17. Beyond Compare文件比对
  18. 第一章 Java特性
  19. 做了两个1~24V 可调电源。USB充电。
  20. R语言将向量数据按照行方式转化为矩阵数据(设置参数byrow为TRUE)

热门文章

  1. mysql反掩码_Linux运维:文件目录管理
  2. c语言关键字识别程序,c语言-以关键字搜索程序
  3. s8050三极管经典电路_电子电路-闪瞎你的眼!爆闪警示灯超简单原理介绍!
  4. https访问报错404_电子口岸报关代理委托系统,出现“404”“503”报错怎么办?...
  5. 物联网核心安全系列——智能监控安全问题
  6. OFFICE EXCEL表格中让A1 中的数字为变量时,如何引用
  7. VB6中SendKeys的基本应用
  8. VB选择文件夹并取文件夹名
  9. linux 端口 操作
  10. Redis在项目中的使用及性能测试(续)