再学 GDI+[36]: TGPPen - SetLineCap
代码文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)ComboBox1: TComboBox;ComboBox2: TComboBox;ComboBox3: TComboBox;ComboBox4: TComboBox;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);procedure ComboBox1Change(Sender: TObject);procedure ComboBox2Change(Sender: TObject);procedure ComboBox3Change(Sender: TObject);procedure ComboBox4Change(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses GDIPOBJ, GDIPAPI, TypInfo;var StartCap,EndCap,DashCap: Integer;procedure TForm1.FormCreate(Sender: TObject); vari: Integer; beginComboBox1.Text := '虚线样式';ComboBox2.Text := '起点线帽';ComboBox3.Text := '中间线帽';ComboBox4.Text := '终点线帽';for i := 0 to 5 doComboBox1.Items.Add(GetEnumName(TypeInfo(TDashStyle), i));ComboBox2.Items.Add('LineCapFlat');ComboBox2.Items.Add('LineCapSquare');ComboBox2.Items.Add('LineCapRound');ComboBox2.Items.Add('LineCapTriangle');ComboBox2.Items.Add('LineCapNoAnchor');ComboBox2.Items.Add('LineCapSquareAnchor');ComboBox2.Items.Add('LineCapRoundAnchor');ComboBox2.Items.Add('LineCapDiamondAnchor');ComboBox2.Items.Add('LineCapArrowAnchor');ComboBox3.Items := ComboBox2.Items;ComboBox4.Items := ComboBox2.Items; end;procedure TForm1.FormPaint(Sender: TObject); constColorArr: array[0..2] of TGPColor = (aclRed, aclGreen, aclBlue); varg: TGPGraphics;p: TGPPen;x1,x2,y: Integer;i: Integer; beging := TGPGraphics.Create(Canvas.Handle);p := TGPPen.Create($FF000000, 16);p.SetDashStyle(TDashStyle(ComboBox1.ItemIndex));p.SetLineCap(StartCap, EndCap, DashCap);x1 := 50;x2 := ClientWidth - 50;y := 60;for i := 0 to 2 dobeginp.SetColor(ColorArr[i]);g.DrawLine(p, x1, y, x2, y);Inc(y, 40);end;p.Free;g.Free; end;procedure TForm1.ComboBox1Change(Sender: TObject); beginRepaint; end;procedure TForm1.ComboBox2Change(Sender: TObject); vari: Integer; begini := 0;case TComboBox(Sender).ItemIndex of0 : i := LineCapFlat;1 : i := LineCapSquare;2 : i := LineCapRound;3 : i := LineCapTriangle;4 : i := LineCapNoAnchor;5 : i := LineCapSquareAnchor;6 : i := LineCapRoundAnchor;7 : i := LineCapDiamondAnchor;8 : i := LineCapArrowAnchor;9 : i := LineCapCustom;10: i := LineCapAnchorMask;end;if TComboBox(Sender) = ComboBox2 then StartCap := i;if TComboBox(Sender) = ComboBox3 then DashCap := i;if TComboBox(Sender) = ComboBox4 then EndCap := i;Repaint; end;procedure TForm1.ComboBox3Change(Sender: TObject); beginComboBox2Change(Sender); end;procedure TForm1.ComboBox4Change(Sender: TObject); beginComboBox2Change(Sender); end;end.
窗体文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 165ClientWidth = 515Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesktopCenterOnCreate = FormCreateOnPaint = FormPaintPixelsPerInch = 96TextHeight = 13object ComboBox1: TComboBoxLeft = 8Top = 8Width = 121Height = 21ItemHeight = 13TabOrder = 0Text = 'ComboBox1'OnChange = ComboBox1Changeendobject ComboBox2: TComboBoxLeft = 135Top = 8Width = 121Height = 21ItemHeight = 13TabOrder = 1Text = 'ComboBox2'OnChange = ComboBox2Changeendobject ComboBox3: TComboBoxLeft = 262Top = 8Width = 121Height = 21ItemHeight = 13TabOrder = 2Text = 'ComboBox3'OnChange = ComboBox3Changeendobject ComboBox4: TComboBoxLeft = 389Top = 8Width = 121Height = 21ItemHeight = 13TabOrder = 3Text = 'ComboBox4'OnChange = ComboBox4Changeend end
转载于:https://www.cnblogs.com/del/archive/2008/06/15/1222156.html
再学 GDI+[36]: TGPPen - SetLineCap相关推荐
- 再学 GDI+[33]: TGPPen - 画笔的几何变换 - SetTransform
几何变换也就是 Matrix 变换, 画笔的 Matrix 会忽略 dx.dy 平移参数; 选择 LineCapRound 线帽效果比较好. 本例效果图: 代码文件: unit Unit1;inter ...
- 再学 GDI+[25]: TGPPen - 宽度、颜色与线帽
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- 再学 GDI+[57]: 路径 - Widen
为什么80%的码农都做不了架构师?>>> 路径的 Widen 方法可以把路径中的线, 根据指定画笔的宽度与样式, 转换为一个范围(有点类似区域); 但转换后再描绘路径就只能使用 ...
- 再学 GDI+[56]: 路径 - Warp
为什么80%的码农都做不了架构师?>>> 通过路径的 Warp 方法可以让路径在一个范围内(四个点决定的范围)变换; 第一个参数可以是 3 个点或 4 个点的数组, 如果是 3 ...
- 再学 GDI+[11]: DrawCurve - 绘制曲线
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- 再学 GDI+[7]: DrawLines - 绘制一组直线
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- 再学 GDI+[81]: TGPImage(1) - 显示图像
已知 GDI+ 可以支持的图像格式: BMP.JPEG.GIF.TIFF.PNG.ICO.WMF.EMF TGPGraphics.DrawImage 函数有太多重载了, 一起列在这吧: functio ...
- 再学 GDI+[83]: TGPImage(3) - 平行四边形变换
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
最新文章
- [c++] vector<vector<int>>排序
- firefox+android+平板,Firefox模拟手机浏览器(iOS+Android) – UserAgent Switcher使用方法...
- win10系统下载-靠谱推荐
- 【Java10】lambda表达式(函数式编程),Stream流,File类,字节/字符流,乱码,缓冲/转换/序列化/打印流,Properties
- 《Python Cookbook 3rd》笔记(5.19):创建临时文件和文件夹
- android手机测试”
- ArcGIS利用DEM提取河流水系(附练习数据下载)
- C语言程序设计孙家啸第一版,广东(年4月自考各专业课程使用教材.doc
- H3CIERS+(H3C认证路由交换互联网专家介绍)
- win10计算机上的策略禁止用户安装,win10电脑安装摄像头驱动时提示策略禁止安装此设备的解决教程...
- 黑客黑手伸向微博微信手机成网络钓鱼主要渠道
- Grafana 任意文件读取漏洞复现
- JAVA实现模板word文档导入,Java依据word模板生成word文档之后台解析和实现及部分代码(一)...
- NR ZC 序列相关与preamble检测原理
- unity学习途中奇奇怪怪的问题——Unity打不开VS的问题
- Spring环境搭建错误
- 查看zookeeper状态报错`Error contacting service. It is propably not running`
- 使用SpannableString实现一个load小动画
- 用Easyui写一个银行个人存款计算器(纯前端页面)
- CSS(3)学习笔记——持续更新
热门文章
- 2021年宇华实验中学高考成绩查询,2021年河南高考状元多少分,今年河南高考状元资料名单...
- nftables入门文档
- GDAL中MEM格式的简单使用示例
- 使用OGR2OGR将S57数据转为shp格式
- Java多线程(八)——多线程辅助功能类
- 设计模式(一)----简单工厂、工厂方法和抽象工厂区别
- MFC 教程【6_应用程序的退出 】
- 广东学考计算机专业要多少排位,太难了!2021年学考录取分数大暴涨!深职、广轻需要300分以上?...
- 【java学习之路】(数据结构篇)001.数组
- scala中getorElse()方法