- A+
TDXPaintBox 和 TPaintBox 一样拥有重要的属性 Canvas;
现在要关心的是 TDXPaintBox 另一个主要属性: DIB(TDIB 对象);
在下面学习 TDIB 时, 应该会大量用到这个 TDXPaintBox.
虽然叫它 TDXPaintBox, 但我觉得它更像 TImage, 只是把 TImage.Picture 换做了 TDXPaintBox.DIB.
在设计时可以给 TDXPaintBox 的 DIB 对象添加图片, 不过本例是运行时添加的; 运行效果图:
代码文件:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DIB, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
DXPaintBox1: TDXPaintBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
w,h:Integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
DXPaintBox1.Width := w div 2;
DXPaintBox1.Height := w div 2;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DXPaintBox1.Width := ClientWidth;
DXPaintBox1.Height := ClientHeight;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
DXPaintBox1.Width := w;
DXPaintBox1.Height := h ;
end;
procedure TForm1.FormCreate(Sender: TObject);
const
ImgPath1 = 'C:\Temp\DX.jpg';
begin
DXPaintBox1.Left := 0;
DXPaintBox1.Top := 0 ;
DXPaintBox1.DIB.LoadFromFile(ImgPath1);
w := DXPaintBox1.DIB.Width ;
h := DXPaintBox1.DIB.Height;
DXPaintBox1.Width := w ;
DXPaintBox1.Height := h ;
DXPaintBox1.Stretch := True;
end;
end.
文件下载:
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-
您可以选择一种方式赞助本站
赏