zoukankan      html  css  js  c++  java
  • Delphi 与 DirectX 之 DelphiX(10): TPictureCollectionItem.StretchDraw

    本例效果图:


    代码文件:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DXDraws, StdCtrls, DXClass;
    
    type
      TForm1 = class(TForm)
        DXDraw1: TDXDraw;
        DXImageList1: TDXImageList;
        Button1: TButton;
        Button2: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    var
      PicItem: TPictureCollectionItem;
    
    procedure TForm1.FormCreate(Sender: TObject);
    const
      ImgPath1 = 'C:TempDelphiX.bmp';
    begin
      DXImageList1.DXDraw := DXDraw1;
      PicItem := TPictureCollectionItem(DXImageList1.Items.Add);
      PicItem.Picture.LoadFromFile(ImgPath1);
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      DXDraw1.Surface.Fill(0);
      PicItem.StretchDraw(DXDraw1.Surface, DXDraw1.Surface.ClientRect, 0);
      DXDraw1.Flip;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var
      r: TRect;
    begin
      r.Left := (DXDraw1.Width - PicItem.Width) div 2;
      r.Top := (DXDraw1.Height - PicItem.Height) div 2;
      r.Right := r.Left + PicItem.Width;
      r.Bottom := r.Top + PicItem.Height;
    
      DXDraw1.Surface.Fill(0);
      PicItem.StretchDraw(DXDraw1.Surface, r, 0);
      DXDraw1.Flip;
    end;
    
    end.
    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    [转载]Shell十三问(入门与提高)
    [转载]FPGA学习步骤
    matlab设计切比雪夫低通滤波器
    累加器A与ACC区别
    [转载]3分钟设计滤波器
    [转载]卷积运算的实际意义
    [转载]CRC校验原理
    一个怂女婿的成长笔记【三】
    一个怂女婿的成长笔记【一】
    一个怂女婿的成长笔记【二】
  • 原文地址:https://www.cnblogs.com/jijm123/p/14351425.html
Copyright © 2011-2022 走看看