Direct2D (23) : 复合几何对象之 ID2D1GeometryGroup
2011-04-06 16:02
405 查看
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;
效果图:
相关文章推荐
- Direct2D (22) : 复合几何对象之 ID2D1TransformedGeometry
- Direct2D教程III——几何(Geometry)对象
- Direct2D教程VIII——几何(Geometry)对象的运算,本系列的终结篇
- Direct2D (24) : 合并几何对象
- Direct2D教程(三)简单几何图形
- Direct2D 几何计算和几何变幻
- Direct2D教程(三)简单几何图形
- Direct2D 几何计算和几何变幻
- Direct2D教程(五)复合图形
- Direct2D 几何计算和几何变幻
- Direct2D教程IV——笔刷(Brush)对象
- 总结:复合数据对象
- 复合对象的构造和析构顺序
- 【SQL Server学习笔记】23:部分可编程对象
- [Direct2D]图片处理
- Effective C++ 第二版 22)传引用 23)返回对象 24)函数重载vs缺省值
- WPF 使用 Direct2D1 画图 绘制基本图形
- 对几何画板对象删除和拖动的方法
- Direct2D教程(一)Direct2D已经来了,谁是GDI的终结者?
- Direct2D (16) : 蒙版之 FillOpacityMask() 方法