Time of Update: 2018-12-07
代碼:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, TypInfo, Direct2D;type TForm1 = class(TForm) ListBox1: TListBox; Panel1: TPanel; GroupBox1:
Time of Update: 2018-12-07
繪製在 RenderTarget.PushAxisAlignedClip() 與 RenderTarget.PopAxisAlignedClip() 之間的內容將被指定的矩形剪輯。uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var cvs: TDirect2DCanvas; R,RClip: TRect;begin cvs := TDirect2DCanvas.Create(Canvas,
Time of Update: 2018-12-07
下面是通過自訂函數繪製菱形的測試代碼。uses Direct2D, D2D1;{自訂的繪製菱形的函數}function GetDiamondPath(ptLeft, ptTop: TD2DPoint2f): ID2D1PathGeometry; //返迴路徑介面var sink: ID2D1GeometrySink; //給路徑添加圖形的介面 ptRight,ptBottom: TD2DPoint2f;begin {算出另外兩個點} ptRight :=
Time of Update: 2018-12-07
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.Create(Canvas, ClientRect); cvs.BeginDraw;
Time of Update: 2018-12-07
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:
Time of Update: 2018-12-07
合并通過 ID2D1Geometry.CombineWithGeometry() 完成,但返回的是 ID2D1SimplifiedGeometrySink(ID2D1GeometrySink 的父物件);需要把 ID2D1SimplifiedGeometrySink 添加到 ID2D1PathGeometry 才能使用。uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var cvs:
Time of Update: 2018-12-07
{相關方法}TDirect2DCanvas.RenderTarget.CreateLayer(); //建立層TDirect2DCanvas.RenderTarget.PushLayer(); //開始層;層的功能及效果取決於它的 TD2D1LayerParameters 結構參數TDirect2DCanvas.RenderTarget.PopLayer(); //結束層{相關結構}TD2D1LayerParameters = record contentBounds:
Time of Update: 2018-12-07
uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var cvs: TDirect2DCanvas; iGeometry: ID2D1Geometry; iPathGeometry: ID2D1PathGeometry; iGeometrySink: ID2D1GeometrySink;begin {建立一個幾何對象 iGeometry} D2DFactory.CreateEllipseGeometry(
Time of Update: 2018-12-07
uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var cvs: TDirect2DCanvas; iLayer: ID2D1Layer; rLayerParameters: TD2D1LayerParameters; wic: TWICImage; R: TRect; iEllipse: ID2D1EllipseGeometry;begin wic := TWICImage.Create; wic.
Time of Update: 2018-12-07
{相關方法}ID2D1Geometry.GetBounds(); //擷取邊界矩形ID2D1Geometry.GetWidenedBounds(); //擷取包含畫筆地區的邊界矩形測試代碼:uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var cvs: TDirect2DCanvas; iGeometry: ID2D1EllipseGeometry; R1,R2: TD2DRectF;
Time of Update: 2018-12-07
{相關方法}TDirect2DCanvas.DrawEllipse();TDirect2DCanvas.DrawLine();TDirect2DCanvas.DrawRectangle();TDirect2DCanvas.DrawRoundedRectangle();TDirect2DCanvas.FillEllipse();TDirect2DCanvas.FillRectangle();TDirect2DCanvas.FillRoundedRectangle();{相關結構}TD2DPoint
Time of Update: 2018-12-07
uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject);var cvs: TDirect2DCanvas; iEllipseGeometry: ID2D1EllipseGeometry; iTransformedGeometrys: array[0..7] of ID2D1TransformedGeometry; iGeometryGroup: ID2D1GeometryGroup; iGeometrySink:
Time of Update: 2018-12-07
uses NativeXml;procedure TForm1.Button1Click(Sender: TObject);var xml: TNativeXml; node: TXmlNode;begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; node := xml.NodeNewTextType('注釋名稱', '注釋內容', xeComment); xml.Root.NodeAdd(
Time of Update: 2018-12-07
實現蒙版效果有三種途徑:使用 FillOpacityMask()、使用 FillGeometry() 方法、使用圖層。FillOpacityMask() 用於處理映像蒙版。期間用到 ID2D1Bitmap,因為對映像格式要求較高,我通過 TDirect2DCanvas.CreateBitmap() 建立 ID2D1Bitmap 時沒有成功。後來使用了自訂函數直接使用 WIC
Time of Update: 2018-12-07
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}uses Direct2D,
Time of Update: 2018-12-07
var xml: TNativeXml; const xmlStr = '<?xml version="1.0" encoding="UTF-8"?>' + '<List>' + '<item ID="No.1" age="11">張三</item>' + '<item ID="No.2" age="22">李四</item>' +
Time of Update: 2018-12-07
{相關方法}TDirect2DCanvas.RenderTarget.SetAntialiasMode();TDirect2DCanvas.RenderTarget.GetAntialiasMode;{相關常量}D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0;D2D1_ANTIALIAS_MODE_ALIASED = 1;測試代碼:uses Direct2D, D2D1;procedure TForm1.FormCreate(Sender:
Time of Update: 2018-12-07
uses NativeXml; var xml: TNativeXml; const xmlStr = '<?xml version="1.0" encoding="UTF-8"?>' + '<List>' + '<item ID="No.1" age="11">張三</item>' + '<item ID="No.2" age="22">李四</item&
Time of Update: 2018-12-07
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))); CheckListBox1.Align :=
Time of Update: 2018-12-07
uses NativeXml; procedure TForm1.Button1Click(Sender: TObject); var xml: TNativeXml; fVal: Double; begin fVal := 123.456789; xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; //xml.FloatSignificantDigits := ; with