zoukankan      html  css  js  c++  java
  • Delphi 与 DirectX 之 DelphiX(17): TPictureCollectionItem.PatternWidth、PatternHeight


    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DXDraws, StdCtrls;
    
    type
      TForm1 = class(TForm)
        DXDraw1: TDXDraw;
        DXImageList1: TDXImageList;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        Button6: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    var
      PicItem: TPictureCollectionItem;
      w,h: Integer;
    
    procedure TForm1.FormCreate(Sender: TObject);
    const
      ImgPath1 = 'C:\Temp\DelphiX.bmp';
    begin
      DXImageList1.DXDraw := DXDraw1;
      PicItem := TPictureCollectionItem(DXImageList1.Items.Add);
      PicItem.Picture.LoadFromFile(ImgPath1);
      w := PicItem.Width;
      h := PicItem.Height;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      PicItem.PatternWidth := w;
      PicItem.PatternHeight := h;
      DXDraw1.Surface.Fill(0);
      PicItem.Draw(DXDraw1.Surface, 0, 0, 0);
      DXDraw1.Flip;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      PicItem.PatternWidth := w * 2;
      PicItem.PatternHeight := h;
      DXDraw1.Surface.Fill(0);
      PicItem.Draw(DXDraw1.Surface, 0, 0, 0);
      DXDraw1.Flip;
    end;
    
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      PicItem.PatternWidth := w div 2;
      PicItem.PatternHeight := h;
      DXDraw1.Surface.Fill(0);
      PicItem.Draw(DXDraw1.Surface, 0, 0, 0);
      DXDraw1.Flip;
    end;
    
    procedure TForm1.Button4Click(Sender: TObject);
    begin
      PicItem.PatternWidth := w;
      PicItem.PatternHeight := h * 2;
      DXDraw1.Surface.Fill(0);
      PicItem.Draw(DXDraw1.Surface, 0, 0, 0);
      DXDraw1.Flip;
    end;
    
    procedure TForm1.Button5Click(Sender: TObject);
    begin
      PicItem.PatternWidth := w;
      PicItem.PatternHeight := h div 2;
      DXDraw1.Surface.Fill(0);
      PicItem.Draw(DXDraw1.Surface, 0, 0, 0);
      DXDraw1.Flip;
    end;
    
    procedure TForm1.Button6Click(Sender: TObject);
    begin
      PicItem.PatternWidth := w*2;
      PicItem.PatternHeight := h*2;
      DXDraw1.Surface.Fill(0);
      PicItem.Draw(DXDraw1.Surface, 0, 0, 0);
      DXDraw1.Flip;
    end;
    
    end.
    

  • 相关阅读:
    再回首Java第九天
    再回首Java第八天
    再回首Java一周记
    再回首Java第六天
    再回首Java第五天
    再回首Java第四天
    再回首Java第三天
    再回首Java第二天
    再回首Java第一天
    关于i++和++i理解
  • 原文地址:https://www.cnblogs.com/del/p/1375674.html
Copyright © 2011-2022 走看看