摘要: 下面是通过自定义函数绘制菱形的测试代码。uses Direct2D, D2D1;{自定义的绘制菱形的函数}function GetDiamondPath(ptLeft, ptTop: TD2DPoint2f): ID2D1PathGeometry; //返回路径接口var sink: ID2D1GeometrySink; //给路径添加图形的接口 ptRight,ptBottom: TD2DPoint2f;begin {算出另外两个点} ptRight := D2D1PointF((ptTop.x-ptLeft.x)*2+ptLeft.x, ptLeft.y); ptBottom := D2D 阅读全文
posted @ 2011-03-31 21:09 万一 阅读(2338) 评论(0) 推荐(0) 编辑
摘要: 原始的 Direct2D 只提供了几种简单图形(直线、矩形、圆角矩形、椭圆)的绘制与填充,更多集合图形或路径的描绘要使用 DrawGeometry() 和 FillGeometry()。既然能绘制更复杂的图形,当然也能绘制基本图形,先试下使用 DrawGeometry()、FillGeometry() 实现矩形、圆角矩形和椭圆。方法的参数是 ID2D1Geometry 接口,ID2D1RectangleGeometry、ID2D1RoundedRectangleGeometry、ID2D1EllipseGeometry 都是它的子接口。ID2D1Factory 提供了实现这三个接口的方法,从 阅读全文
posted @ 2011-03-31 17:42 万一 阅读(3394) 评论(0) 推荐(0) 编辑
摘要: {相关方法}TDirect2DCanvas.DrawEllipse();TDirect2DCanvas.DrawLine();TDirect2DCanvas.DrawRectangle();TDirect2DCanvas.DrawRoundedRectangle();TDirect2DCanvas.FillEllipse();TDirect2DCanvas.FillRectangle();TDirect2DCanvas.FillRoundedRectangle();{相关结构}TD2DPoint2f (或 D2D_POINT_2F) //浮点点结构; 构建函数 D2D1PointF(); 可从 阅读全文
posted @ 2011-03-31 14:01 万一 阅读(2808) 评论(1) 推荐(0) 编辑