首页 > TAG信息列表 > direct2d

Direct2D (27) : 获取几何图形的轮廓 - ID2D1Geometry.Outline()

Direct2D (27) : 获取几何图形的轮廓 - ID2D1Geometry.Outline() uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; iEllipseGeometry: ID2D1EllipseGeometry; iTransformedGeometrys: array[0..7] of ID2D1Transforme

Direct2D (26) : 获取几何图形的边界

Direct2D (26) : 获取几何图形的边界 {相关方法} ID2D1Geometry.GetBounds(); //获取边界矩形 ID2D1Geometry.GetWidenedBounds(); //获取包含画笔区域的边界矩形 测试代码:uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2

Direct2D (25) : 将画笔线条所占用的区域转换为路径 - ID2D1Geometry.Widen()

Direct2D (25) : 将画笔线条所占用的区域转换为路径 - ID2D1Geometry.Widen() uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; iGeometry: ID2D1Geometry; iPathGeometry: ID2D1PathGeometry; iGeometrySink: ID2D

Direct2D (24) : 合并几何对象

Direct2D (24) : 合并几何对象 合并通过 ID2D1Geometry.CombineWithGeometry() 完成,但返回的是 ID2D1SimplifiedGeometrySink(ID2D1GeometrySink 的父对象); 需要把 ID2D1SimplifiedGeometrySink 添加到 ID2D1PathGeometry 才能使用。uses Direct2D, D2D1; procedure TForm

Direct2D (23) : 复合几何对象之 ID2D1GeometryGroup

Direct2D (23) : 复合几何对象之 ID2D1GeometryGroup uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; iGeometryGroup: ID2D1GeometryGroup; arrGeometry: array[0..3] of ID2D1EllipseGeometry; ptCenter: TD2D1P

Direct2D (22) : 复合几何对象之 ID2D1TransformedGeometry

Direct2D (22) : 复合几何对象之 ID2D1TransformedGeometry 复合几何对象包括 ID2D1GeometryGroup 和 ID2D1TransformedGeometry,它们都继承自 ID2D1Geometry。 ID2D1TransformedGeometry 只是包含了 2D 变换的 ID2D1Geometry。uses Direct2D, D2D1; procedure TForm1.For

Direct2D (21) : 微软官方关于路径的示例

Direct2D (21) : 微软官方关于路径的示例 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); end; var Form1: TFor

Direct2D (18) : 图层之 TD2D1LayerParameters.contentBounds (图层的有效范围)

Direct2D (18) : 图层之 TD2D1LayerParameters.contentBounds (图层的有效范围) {相关方法} TDirect2DCanvas.RenderTarget.CreateLayer(); //建立层 TDirect2DCanvas.RenderTarget.PushLayer(); //开始层;层的功能及效果取决于它的 TD2D1LayerParameters 结构参数 TDirect

Direct2D (17) : 蒙版之 FillGeometry() 方法

Direct2D (17) : 蒙版之 FillGeometry() 方法 FillGeometry() 可通过两个画刷的重叠运算获取蒙版效果,作为蒙版画刷的渐变色中应该至少有一个透明色。使用放射渐变画刷做蒙版:uses Direct2D, D2D1, Wincodec, ActiveX; {从指定文件建立 ID2D1Bitmap 的函数} function GetD2D

Direct2D (16) : 蒙版之 FillOpacityMask() 方法

Direct2D (16) : 蒙版之 FillOpacityMask() 方法 实现蒙版效果有三种途径:使用 FillOpacityMask()、使用 FillGeometry() 方法、使用图层。 FillOpacityMask() 用于处理图像蒙版。 期间用到 ID2D1Bitmap,因为对图像格式要求较高,我通过 TDirect2DCanvas.CreateBitmap() 建立 I

Direct2D (15) : 剪辑

Direct2D (15) : 剪辑 绘制在 RenderTarget.PushAxisAlignedClip() 与 RenderTarget.PopAxisAlignedClip() 之间的内容将被指定的矩形剪辑。uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; R,RClip: TRect; begin c

Direct2D (14) : 画笔

Direct2D (14) : 画笔 画笔类 TDirect2DPen 的 Brush 属性是 TDirect2DBrush,现在的单色画笔其实是调用的实心画刷。 因为画刷的强大,所以让画笔丰富起来不是难事。 TDirect2DPen 的 StrokeStyle 属性是 ID2D1StrokeStyle 类型,它决定着线帽、拐角样式等;但遗憾的是该属性是只

Direct2D (12) : 画刷之 ID2D1RadialGradientBrush

Direct2D (12) : 画刷之 ID2D1RadialGradientBrush uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; iBrush: ID2D1RadialGradientBrush; R: TRect; rRGBP: TD2D1RadialGradientBrushProperties; //结构包含:中心点

Direct2D (10) : 文本输出初步

Direct2D (10) : 文本输出初步 uses Direct2D, TypInfo; procedure TForm1.FormCreate(Sender: TObject); var f: TTextFormats; begin for f := Low(TTextFormats) to High(TTextFormats) do CheckListBox1.Items.Add(GetEnumName(TypeInfo(TTextFormats), Ord(f)

Direct2D (9) : 显示图像

Direct2D (9) : 显示图像 uses Direct2D; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; wic: TWICImage; R: TRect; begin wic := TWICImage.Create; wic.LoadFromFile('C:\Temp\Test.png'); cvs := TDirect2DCanvas.C

Direct2D (8) : 透明色

Direct2D (8) : 透明色 uses Direct2D, D2D1; procedure TForm1.FormPaint(Sender: TObject); var cvs: TDirect2DCanvas; R: TRect; begin cvs := TDirect2DCanvas.Create(Canvas, ClientRect); cvs.BeginDraw; cvs.Pen.Color := Color; cvs.Brush.Color :=

Direct2D (7) : 空间变换

Direct2D (7) : 空间变换 {相关方法} TDirect2DCanvas.RenderTarget.SetTransform(); TDirect2DCanvas.RenderTarget.GetTransform(); {相关结构} TD2DMatrix3x2F (或D2D_MATRIX_3X2_F) //因第三列的值在这里是固定的(0,0,1),所以这里用的是 3*2 的矩阵;该结构重载了 * 运算

Direct2D (6) : 绘制质量(设置抗锯齿模式)

Direct2D (6) : 绘制质量(设置抗锯齿模式) {相关方法} TDirect2DCanvas.RenderTarget.SetAntialiasMode(); TDirect2DCanvas.RenderTarget.GetAntialiasMode; {相关常量} D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0; D2D1_ANTIALIAS_MODE_ALIASED = 1; 测试代码:uses Di

Direct2D (5) : 绘制自定义图形

Direct2D (5) : 绘制自定义图形 下面是通过自定义函数绘制菱形的测试代码。uses Direct2D, D2D1; {自定义的绘制菱形的函数} function GetDiamondPath(ptLeft, ptTop: TD2DPoint2f): ID2D1PathGeometry; //返回路径接口 var sink: ID2D1GeometrySink; //给路径添加图形

Direct2D (4) : DrawGeometry() 与 FillGeometry()

Direct2D (4) : DrawGeometry() 与 FillGeometry() 原始的 Direct2D 只提供了几种简单图形(直线、矩形、圆角矩形、椭圆)的绘制与填充,更多集合图形或路径的描绘要使用 DrawGeometry() 和 FillGeometry()。 既然能绘制更复杂的图形,当然也能绘制基本图形,先试下使用 DrawGeom

Direct2D (3) : 使用浮点参数绘制基本图形

Direct2D (3) : 使用浮点参数绘制基本图形 {相关方法} TDirect2DCanvas.DrawEllipse(); TDirect2DCanvas.DrawLine(); TDirect2DCanvas.DrawRectangle(); TDirect2DCanvas.DrawRoundedRectangle(); TDirect2DCanvas.FillEllipse(); TDirect2DCanvas.FillRectangle(); TDirec

Direct2D (2) : 基本图形命令测试

Direct2D (2) : 基本图形命令测试 代码:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, TypInfo, Direct2D; type TForm1 = class(TForm) ListBox1: TListB

Direct2D (1) : 第一个例子

Direct2D (1) : 第一个例子 应该是 Delphi 2009 就支持 Direct2D 了,但那时我还用着 WinXP 系统(不支持);现在的测试环境是 Win7+DelphiXE。 Direct2D 属 DirectX 家族,是 GDI、GDI+ 的继任者,支持硬件加速,并能与 GDI、GDI+、D3D 交互。 其它初步的印象是其文本处理和图像处理

c#-使用Direct2d效果时,如何解决“错误LNK2001:无法解析的外部符号_CLSID_D2D1Blend”?

我正在开发要在Windows Store App C#项目上使用的Windows运行时组件(Visual C)图形库. 一切都按预期运行,直到我开始向lib添加一些Effects功能. 尝试创建以下效果时: m_d2dContext->CreateEffect(CLSID_D2D1Blend, &m_blendEffect) 显示以下错误: 1>MyLibFile.obj : error

c-如何使用WIC将ID2D1Bitmap保存到文件?

将位图保存到文件时出现问题.我使用How to save ID2D1Bitmap to PNG file作为参考,但与该页面中发布的错误不同. 我收到错误0x88990015 HRESULT,这意味着:所使用的资源是由另一个资源域中的渲染目标创建的. 这是我的代码: void Wnd::SavePng(LPCWSTR Path,ID2D1Bitmap* pBit) {