首页 > OOP语言 > Delphi > 正文

再学GDI+[101]: TGPImage(21) - 获取所有编码器的详细信息
2012-08-22 18:49:54   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

代码文件:unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;
type
 TForm1 = class(TForm)
  Memo1: TMemo;
  Button1: TButton;
  procedure FormCreate(Sender: TObject);
  procedure Button1Click(Sender: TObject);
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
uses GDIPOBJ, GDIPAPI;
procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Align := alLeft;
 Memo1.ScrollBars := ssBoth;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
 num, size: Cardinal;
 ImageCodecInfo: PImageCodecInfo;
 i: Integer;
type
 ArrImgCodInfo = array of TImageCodecInfo;
begin
 GetImageEncodersSize(num, size);
 GetMem(ImageCodecInfo, size);
 GetImageEncoders(num, size, ImageCodecInfo);
 Memo1.Clear;
 for i := 0 to num - 1 do with Memo1.Lines do
 begin
  Add(format('Clsid: %s',[GUIDToString(ArrImgCodInfo(ImageCodecInfo)[i].Clsid)]));
  Add(format('FormatID: %s',[GUIDToString(ArrImgCodInfo(ImageCodecInfo)[i].FormatID)]));
  Add(format('CodecName: %s',[ArrImgCodInfo(ImageCodecInfo)[i].CodecName]));
  Add(format('DllName: %s',[ArrImgCodInfo(ImageCodecInfo)[i].DllName]));
  Add(format('FormatDescription: %s',[ArrImgCodInfo(ImageCodecInfo)[i].FormatDescription]));
  Add(format('FilenameExtension: %s',[ArrImgCodInfo(ImageCodecInfo)[i].FilenameExtension]));
  Add(format('MimeType: %s',[ArrImgCodInfo(ImageCodecInfo)[i].MimeType]));
  Add(format('Flags: %d',[ArrImgCodInfo(ImageCodecInfo)[i].Flags]));
  Add(format('Version: %d',[ArrImgCodInfo(ImageCodecInfo)[i].Version]));
  Add(format('SigCount: %d',[ArrImgCodInfo(ImageCodecInfo)[i].SigCount]));
  Add(format('SigSize: %d',[ArrImgCodInfo(ImageCodecInfo)[i].SigSize]));
  Add('');
 end;
 FreeMem(ImageCodecInfo);
end;
end.

窗体文件:object Form1: TForm1
 Left = 0
 Top = 0
 Caption = 'Form1'
 ClientHeight = 206
 ClientWidth = 445
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'Tahoma'
 Font.Style = []
 OldCreateOrder = False
 OnCreate = FormCreate
 PixelsPerInch = 96
 TextHeight = 13
 object Memo1: TMemo
  Left = 8
  Top = 8
  Width = 337
  Height = 145
  Lines.Strings = (
   'Memo1')
  TabOrder = 0
 end
 object Button1: TButton
  Left = 351
  Top = 32
  Width = 75
  Height = 25
  Caption = 'Button1'
  TabOrder = 1
  OnClick = Button1Click
 end
end
Clsid       //获取或设置 Guid 结构,其中包含能识别特定编码解码器的 GUID。
FormatID      //获取或设置 Guid 结构,其中包含用于识别编码解码器格式的 GUID。
CodecName     //获取或设置包含编码解码器名称的字符串。
DllName      //获取或设置包含存放编码解码器的 DLL 的路径名字符串。如果编码解码器不在 DLL 中,则该指针为空。
FormatDescription //获取或设置描述编码解码器的文件格式的字符串。
FilenameExtension //获取或设置包含编码解码器中使用的文件扩展名的字符串。这些扩展名用分号分隔。
MimeType      //获取或设置包含编码解码器的多用途网际邮件扩充协议 (MIME) 类型的字符串。
Flags       //获取或设置用于存储有关编码解码器的其他信息的 32 位值。该属性从 ImageCodecFlags 枚举返回若干标志的组 合。
Version      //获取或设置编码解码器的版本号。
SigMask      //获取或设置可用作筛选器的二维字节数组。
SigPattern     //获取或设置表示编码解码器签名的二维字节数组。

相关热词搜索:

上一篇:再学GDI+[102]: TGPImage(22) - 获取所有解码器的详细信息
下一篇:再学GDI+[100]: TGPImage(20) - 替换颜色

分享到: 收藏