zoukankan      html  css  js  c++  java
  • WinAPI: BeginPath、EndPath、StrokePath、FillPath、StrokeAndFillPath

    BeginPath         {路径开始}
    EndPath           {路径结束}
    StrokePath        {绘制路径}
    FillPath          {填充路径}
    StrokeAndFillPath {绘制并填充路径}
    
    //在路径中可以使用的图形命令有:
    AngleArc
    Arc
    ArcTo
    Chord
    CloseFigure
    Ellipse
    ExtTextOut
    LineTo
    MoveToEx
    Pie
    PolyBezier
    PolyBezierTo
    PolyDraw
    Polygon
    Polyline
    PolylineTo
    PolyPolygon
    PolyPolyline
    Rectangle
    RoundRect
    TextOut
    
    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        RadioGroup1: TRadioGroup;
        procedure FormCreate(Sender: TObject);
        procedure FormPaint(Sender: TObject);
        procedure RadioGroup1Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      RadioGroup1.Items.CommaText := '绘制路径,填充路径,绘制并填充';
      RadioGroup1.ItemIndex := 0;
      RadioGroup1.Columns := RadioGroup1.Items.Count;
    end;
    
    procedure TForm1.FormPaint(Sender: TObject);
    begin
      Canvas.Font.Size := 36;
      Canvas.Font.Style := [fsBold];
      SetBkMode(Canvas.Handle, TRANSPARENT);
    
      BeginPath(Canvas.Handle);
      Canvas.Rectangle(10,10,110,110);
      Canvas.TextOut(20,30,'Delphi 2007');
      EndPath(Canvas.Handle);
    
      Canvas.Brush.Color := clYellow;
      Canvas.Pen.Color := clRed;
    
      case RadioGroup1.ItemIndex of
        0: StrokePath(Canvas.Handle);
        1: FillPath(Canvas.Handle);
        2: StrokeAndFillPath(Canvas.Handle);
      end;
    end;
    
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    begin
      Repaint;
    end;
    
    end.
    
    窗体设计:
    object Form1: TForm1
      Left = 373
      Top = 260
      Caption = 'Form1'
      ClientHeight = 193
      ClientWidth = 321
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      Position = poDesigned
      OnCreate = FormCreate
      OnPaint = FormPaint
      PixelsPerInch = 96
      TextHeight = 13
      object RadioGroup1: TRadioGroup
        Left = 28
        Top = 131
        Width = 265
        Height = 49
        Caption = 'RadioGroup1'
        TabOrder = 0
        OnClick = RadioGroup1Click
      end
    end
    
  • 相关阅读:
    Jstorm执行task报错windows CONFIG SET protected-mode no
    windows搭建redis集群最佳实践
    windows下golang实现Kfaka消息发送及kafka环境搭建
    go报错unimplemented: 64-bit mode not compiled in与mingw 64位安装报错ERROR res已解决
    GoLand配置数据库、远程host以及远程调试
    Go项目中beego的orm使用和gorm的使用
    windows下Go升级及GoLand的安装激活
    记一次解脱
    golang开源项目qor快速搭建网站qor-example运行实践
    使用img2html把图片转为网页
  • 原文地址:https://www.cnblogs.com/del/p/1206126.html
Copyright © 2011-2022 走看看