博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Direct2D (23) : 复合几何对象之 ID2D1GeometryGroup
阅读量:6968 次
发布时间:2019-06-27

本文共 1081 字,大约阅读时间需要 3 分钟。

  hot3.png

uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var  cvs: TDirect2DCanvas;  iGeometryGroup: ID2D1GeometryGroup;  arrGeometry: array[0..3] of ID2D1EllipseGeometry;  ptCenter: TD2D1Point2F;  i: Integer;  rh,rv: Single;  iFactory: ID2D1Factory;begin  ptCenter := D2D1PointF(ClientWidth/2, ClientHeight/2);  {建立几何对象数组}  iFactory := D2DFactory();  rh := ClientWidth / 12;  rv := ClientHeight / 12;  for i := 0 to Length(arrGeometry)-1 do  begin    iFactory.CreateEllipseGeometry(D2D1Ellipse(ptCenter, rh*(i+1), rv*(i+1)), arrGeometry[i]);  end;  {建立 ID2D1GeometryGroup 对象}  D2DFactory.CreateGeometryGroup(    D2D1_FILL_MODE_ALTERNATE, //另可选 D2D1_FILL_MODE_WINDING,测试效果图演示了两种填充模式的区别    @arrGeometry[0],    Length(arrGeometry),    iGeometryGroup  );  cvs := TDirect2DCanvas.Create(Canvas, ClientRect);  cvs.BeginDraw;  cvs.Brush.Color := clWebCornFlowerBlue;  cvs.FillGeometry(iGeometryGroup);  cvs.DrawGeometry(iGeometryGroup);  cvs.EndDraw;  cvs.Free;end;procedure TForm1.FormResize(Sender: TObject);begin  Repaint;end;

效果图:
26153216_0yVp.png

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

你可能感兴趣的文章
linux head
查看>>
热插拔——矿机先行利器
查看>>
rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份
查看>>
什么是灰度发布,以及灰度发布A/B测试
查看>>
Spring全家桶系列--SpringBoot与Mybatis结合
查看>>
使用Java SDK实现离线签名
查看>>
VRRP工作原理
查看>>
2019年的财富管理行业将何去何从?
查看>>
J - 最强王者 POJ - 1753 Flip Game 搜索+状态压缩
查看>>
这是一个SSL证书普及的时代
查看>>
C++动态库初探
查看>>
keepalived的搭建
查看>>
URAL 1913 Titan Ruins: Old Generators Are Fine Too
查看>>
Horizon Workspace 快速部署指南三(配置Workspace数据模块)
查看>>
C# 添加Excel水印
查看>>
我的友情链接
查看>>
mysql导出和导入
查看>>
IT软件创业之 -- 电脑设备买过来都是钱,卖出去都是废铁
查看>>
debian的“chkconfig”和“service”
查看>>
敏捷开发
查看>>