zoukankan      html  css  js  c++  java
  • GDI+ 学习记录(25): 变换 Transform

    //比例变化
    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;
  • 相关阅读:
    暴力,DFS,比较字符串
    暴力求解最大乘积
    油田!
    八皇后的问题
    巡逻的机器人
    骑士的移动
    二叉树遍历
    新兵训练(=@__@=)
    打牌~~~
    八皇后
  • 原文地址:https://www.cnblogs.com/del/p/1017571.html
Copyright © 2011-2022 走看看