zoukankan      html  css  js  c++  java
  • GDI+ 学习记录(16): 贝塞尔曲线 Bezier、Beziers

    //画贝塞尔曲线
    var
      g: TGPGraphics;
      p: TGPPen;
    begin
      g := TGPGraphics.Create(Canvas.Handle);
      p := TGPPen.Create(MakeColor(255,0,0),2);
    
      g.DrawBezier(p, 11,11, 88,333, 99,0, 222,111); {参数是画笔与 4 个点的坐标}
    
      p.Free;
      g.Free;
    end;
    
    //使用 TGPPoint 或 TGPPointF var g: TGPGraphics; p: TGPPen; const points: array[0..3] of TGPPoint = ((x:11; y:11), (x:88; y:333), (x:99; y:0), (x:222; y:111)); begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(255,0,0),2); g.DrawBezier(p, points[0], points[1], points[2], points[3]); {用了 4 个常数点} p.Free; g.Free; end;
    //连续 Bezier 线 var g: TGPGraphics; p: TGPPen; pts: array[0..6] of TGPPoint; //数组元素必须是 3 的倍数加 1 begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(255,0,0),4); pts[0].X := 77; pts[0].Y := 44; pts[1].X := 66; pts[1].Y := 111; pts[2].X := 88; pts[2].Y := 222; pts[3].X := 111; pts[3].Y := 88; pts[4].X := 132; pts[4].Y := 222; pts[5].X := 222; pts[5].Y := 111; pts[6].X := 256; pts[6].Y := 11; g.DrawBeziers(p, PGPPoint(@pts), Length(pts)); p.Free; g.Free; end;
  • 相关阅读:
    操作excel语法
    MySQL exists的用法介
    vim 快捷键
    mysql中datetime比较大小问题
    MySQL CAST与CONVERT 函数的用法
    tbxvUZIAJH
    springBoot相关
    springCloud
    Spring Boot使用JavaMailSender发送邮件
    RabbitMq 消息队列
  • 原文地址:https://www.cnblogs.com/del/p/1017374.html
Copyright © 2011-2022 走看看