Delphi GDI+ 學習記錄(25): 變換

來源:互聯網
上載者:User

//比例變化

var
 g: TGPGraphics;
 p: TGPPen;
 rect: TGPRect;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 p := TGPPen.Create(MakeColor(255,255,0,0),0);
 rect := MakeRect(10,10,100,100);
 g.DrawRectangle(p, rect); {原始}
 g.ScaleTransform(2, 0.5); {橫向放大、縱向縮小}
 p.SetColor(aclBlue);   {變個顏色看清楚}
 g.DrawRectangle(p, rect); {重繪}
 g.ResetTransform;     {恢複變化, 不然下一個變化將基於現在的狀態}
 p.Free;
 g.Free;
end;

//角度變化(旋轉)

var
 g: TGPGraphics;
 p: TGPPen;
 rect: TGPRect;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 p := TGPPen.Create(MakeColor(255,255,0,0),0);
 rect := MakeRect(10,10,100,100);
 g.DrawRectangle(p, rect);
 g.RotateTransform(28); {旋轉28度角, 正值順時針、負值逆時針}
 p.SetColor(aclBlue);
 g.DrawRectangle(p, rect);
 g.ResetTransform;
 p.Free;
 g.Free;
end;

//位置變化(移動)

var
 g: TGPGraphics;
 p: TGPPen;
 rect: TGPRect;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 p := TGPPen.Create(MakeColor(255,255,0,0),0);
 rect := MakeRect(10,10,100,100);
 g.DrawRectangle(p, rect);
 g.TranslateTransform(111,111); {移動}
 p.SetColor(aclBlue);
 g.DrawRectangle(p, rect);
 g.ResetTransform;
 p.Free;
 g.Free;
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.