zoukankan      html  css  js  c++  java
  • 再学 GDI+[8]: DrawRectangles 绘制一组矩形

    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
    
    type
      TForm1 = class(TForm)
        procedure FormPaint(Sender: TObject);
        procedure FormResize(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses GDIPOBJ, GDIPAPI;
    
    var
      RectArr: array[0..31] of TGPRect;
    
    procedure TForm1.FormResize(Sender: TObject);
    var
      wi,hi: Integer;
      i: Integer;
      Rect: TGPRect;
    begin
      Rect.X := 0;
      Rect.Y := 0;
      Rect.Width := ClientWidth;
      Rect.Height := ClientHeight;
    
      wi := Rect.Width div Length(RectArr);
      hi := Rect.Height div Length(RectArr);
    
      for i := 0 to Length(RectArr) - 1 do
      begin
        Inc(Rect.X, wi);
        Inc(Rect.Y, hi);
        Dec(Rect.Width, wi * 2);
        Dec(Rect.Height, hi * 2);
        RectArr[i] := Rect;
      end;
    
      Repaint;
    end;
    
    procedure TForm1.FormPaint(Sender: TObject);
    var
      g: TGPGraphics;
      p: TGPPen;
    begin
      g := TGPGraphics.Create(Canvas.Handle);
      p := TGPPen.Create(aclRed, 1);
      g.Clear(aclWhite);
      g.DrawRectangles(p, PGPRect(@RectArr), Length(RectArr));
      g.Free;
      p.Free;
    end;
    
    end.
    
    窗体文件:
    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = 'Form1'
      ClientHeight = 188
      ClientWidth = 264
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      Position = poDesktopCenter
      OnPaint = FormPaint
      OnResize = FormResize
      PixelsPerInch = 96
      TextHeight = 13
    end
    
  • 相关阅读:
    SytemC on CentOS 5.3 64bit
    Fast Poisson Disk Sampling
    Geometry Imager Viewport Filter
    Dinornis – Rendering your Model in Mudbox by RenderMan Directly !
    Models of biological pattern formation
    OrthoLab
    如何编译ATILA GPU Emulator
    感受谷歌地图
    树状列表完成
    获取地图标记点经纬度
  • 原文地址:https://www.cnblogs.com/del/p/1216155.html
Copyright © 2011-2022 走看看