API 图像函数(delphi) 联系客服

发布时间 : 星期五 文章API 图像函数(delphi)更新完毕开始阅读

unit Unit1;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type

TForm1 = class(TForm) TrackBar1: TTrackBar;

procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure TrackBar1Change(Sender: TObject); procedure FormDestroy(Sender: TObject); end; var

Form1: TForm1;

implementation

{$R *.dfm} var

Bit,BitBack: TBitmap;

Transparency: Byte = 255; {透明度}

procedure TForm1.FormCreate(Sender: TObject); begin

{设定窗体背景}

BitBack := TBitmap.Create;

BitBack.LoadFromFile('c:\\temp\\Back.bmp'); Brush.Bitmap := BitBack;

{调入图片}

Bit := TBitmap.Create;

Bit.LoadFromFile('c:\\temp\\test.bmp');

{给 TrackBar1 初始化} TrackBar1.Max := 255; TrackBar1.Min := 0;

TrackBar1.ShowSelRange := False; TrackBar1.Position := TrackBar1.Max; end;

procedure TForm1.FormPaint(Sender: TObject); var

Blend: TBlendFunction; {定义 AlphaBlend 要使用的 TBlendFunction 结构} begin

{给 TBlendFunction 结构赋值} Blend.BlendOp := AC_SRC_OVER; Blend.BlendFlags := 0; Blend.AlphaFormat := 0;

Blend.SourceConstantAlpha := Transparency;

Windows.AlphaBlend(Canvas.Handle, {因 VCL 有同名属性, 所以指定了是来自 Windows 单元}

10, 10,

Bit.Width + 10, Bit.Height + 10, Bit.Canvas.Handle, 0, 0,

Bit.Width, Bit.Height, Blend ); end;

procedure TForm1.TrackBar1Change(Sender: TObject); begin Transparency := TrackBar1.Position; Text := IntToStr(Transparency); Self.Repaint; {命令重绘} end; procedure TForm1.FormDestroy(Sender: TObject); begin Bit.Free; BitBack.Free; end; end. 窗体设计: object Form1: TForm1 Left = 352 Top = 238 Caption = 'Form1' ClientHeight = 209 ClientWidth = 211 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesigned OnCreate = FormCreate OnDestroy = FormDestroy OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 object TrackBar1: TTrackBar Left = 0 Top = 186 Width = 201 Height = 24 TabOrder = 0 OnChange = TrackBar1Change end end 用 GDI 操作 EMF 文件[1]: CreateEnhMetaFile、CloseEnhMetaFile EMF 文件是 Windows 下的增强图元文件, 本例用最简单的代码创建了一个 EMF 文件. CreateEnhMetaFile( DC: HDC; {所参照的 DC, 为 0 表示参照当前的显示设备} FileName: PChar; {文件名, 为 nil 表示创建内存文件} Rect: PRect; {外接矩形(单位是 0.1 毫米), 为 nil 表示使用最小矩形} Desc: PChar {描述性的说明文本, 可为 nil} ): HDC; unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; var Form1: TForm1;