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

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

cur.Handle := LoadCursor(0, IDC_HAND); Canvas.Draw(11,11,cur); cur.Handle := LoadCursor(0, IDC_HELP); Canvas.Draw(44,11,cur); cur.Free; end; end. //效果图: //附系统光标列表: IDC_ARROW = MakeIntResource(32512); IDC_IBEAM = MakeIntResource(32513); IDC_WAIT = MakeIntResource(32514); IDC_CROSS = MakeIntResource(32515); IDC_UPARROW = MakeIntResource(32516); IDC_SIZE = MakeIntResource(32640); IDC_ICON = MakeIntResource(32641); IDC_SIZENWSE = MakeIntResource(32642); IDC_SIZENESW = MakeIntResource(32643); IDC_SIZEWE = MakeIntResource(32644); IDC_SIZENS = MakeIntResource(32645); IDC_SIZEALL = MakeIntResource(32646); IDC_NO = MakeIntResource(32648); IDC_HAND = MakeIntResource(32649); IDC_APPSTARTING = MakeIntResource(32650); IDC_HELP = MakeIntResource(32651); WinAPI: LoadIcon - 从资源中载入图标 //声明: LoadIcon( hInstance: HINST; {EXE 或 DLL 的句柄, 0 表示载入系统资源} lpIconName: PChar {资源标识符} ): HICON; {返回图标句柄} 这里有示例 //调用系统图标的例子: 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; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ico: TIcon; i,x: Integer; begin ico := TIcon.Create; x := 10; for i := 32512 to 32517 do begin ico.Handle := LoadIcon(0, MakeIntResource(i)); Canvas.Draw(x,10,ico); Inc(x,ico.Width+10); end; ico.Free; end; end. //效果图: //附系统图标列表: IDI_APPLICATION = MakeIntResource(32512); IDI_HAND = MakeIntResource(32513); IDI_QUESTION = MakeIntResource(32514); IDI_EXCLAMATION = MakeIntResource(32515); IDI_ASTERISK = MakeIntResource(32516); IDI_WINLOGO = MakeIntResource(32517); IDI_WARNING = IDI_EXCLAMATION; IDI_ERROR = IDI_HAND; IDI_INFORMATION = IDI_ASTERISK; WinAPI: AlphaBlend - 图像透明度 AlphaBlend( DC: HDC; {目标设备环境句柄} p2, p3, p4, p5: Integer; {目标位置与宽高} DC6: HDC; {源设备环境句柄} p7, p8, p9, p10: Integer; {源位置与宽高} p11: TBlendFunction {合成方式的数据结构, 见下表} ): BOOL; //TBlendFunction 结构是 _BLENDFUNCTION 的重命名: _BLENDFUNCTION = packed record BlendOp: BYTE; {本例使用了: AC_SRC_OVER = 0} BlendFlags: BYTE; {必须为 0} SourceConstantAlpha: BYTE; {透明度: 0..255} AlphaFormat: BYTE; {通常为 0,如果源位图为32位真彩色,可为 AC_SRC_ALPHA } end; 本例效果图: 代码文件: