FireMonkey 繪圖(1)

來源:互聯網
上載者:User
FMX 的 Canvas 在不同的系統上會分別使用:
WinVista、Win7: D2D (FMX.Canvas.D2D.pas)
WinXP: GDI+ (FMX.Canvas.GDIP.pas)
Mac 系列: Core Graphics (FMX.Canvas.Mac.pas)

和 HTML5 中的 Canvas 非常類似, 現在的 Canvas 模糊了 Pen 的概念:
之前的 Canvas.Pen 對應: Canvas.Stroke;
之前的 Canvas.Brush 對應: Canvas.Fill.

在 FMX 中, Canvas 無處不在, 其 Canvas.Stroke、Canvas.Fill 的狀態也各不相同, 一般要先初始化它們.

測試: 表單上放 Button1、Panel1, 啟用 Panel1 的 OnPaint 事件:

procedure TForm1.FormCreate(Sender: TObject);begin  Self.OnPaint := Panel1.OnPaint;  Button1.OnPaint := Panel1.OnPaint;  Panel1.Opacity := 0.75;end;procedure TForm1.Panel1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);begin  {畫直線}  Canvas.Stroke.Kind := TBrushKind.bkSolid;//  Canvas.Stroke.Color := claBlack;  Canvas.DrawLine(ARect.Location, ARect.BottomRight, 1);  {填充橢圓}//  Canvas.Fill.Kind := TBrushKind.bkSolid;  Canvas.Fill.Color := claGreen;  Canvas.FillEllipse(RectF(ARect.Width/5, ARect.Height/5, ARect.Width/5*4, ARect.Height/5*4), 1);end;
:


繪圖命令:
Canvas.DrawLine();      //Canvas.DrawRect();      //畫矩形; 集合 TCorners: 四個角是否使用指定的樣式類型; 枚舉 TCornerType: 角樣式類型Canvas.DrawRectSides(); //畫矩形邊; 集合 TSides 指定要畫的邊Canvas.DrawEllipse();   //Canvas.DrawArc();       //Canvas.DrawPath();      //Canvas.DrawBitmap();    //Canvas.DrawThumbnail(); //畫略縮圖Canvas.DrawPolygon();   //Canvas.FillRect();      //Canvas.FillEllipse();   //Canvas.FillArc();       //Canvas.FillPath();      //Canvas.FillPolygon();   //Canvas.FillText();      //{測試文本輸出}procedure TForm1.Panel1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);begin  Canvas.Fill.Color := claRed;  Canvas.Font.Size := 30;  Canvas.FillText(ARect, '萬一的 Delphi 部落格', True, 1, [], TTextAlign.taLeading, TTextAlign.taCenter);end;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.