再学 GDI+[98]: TGPImage(18) - 获取 GDI+ 图像格式对应的 GUID
2008-07-07 10:51
323 查看
和在 Net 中不同的是, 在具体指定图像格式时, 这里常常需要的不是格式名称, 而是格式的 GUID;
知道了格式名称, 用 GetEncoderClsid 函数可以获取格式的 GUID;
GetEncoderClsid 函数来自 GDIPUTIL 单元, 本例并没有用到前面一直不可或缺的 GDIPOBJ、GDIPAPI 单元.
如果要获取 image/bmp、image/jpeg、image/gif、image/tiff、image/png 格式以外的 GUID 不能使用此函数.
另外, 为了把 GUID 转换为字符串显示, 本例用到了 GUIDToString 函数.
本例效果图:
代码文件:
窗体文件:
知道了格式名称, 用 GetEncoderClsid 函数可以获取格式的 GUID;
GetEncoderClsid 函数来自 GDIPUTIL 单元, 本例并没有用到前面一直不可或缺的 GDIPOBJ、GDIPAPI 单元.
如果要获取 image/bmp、image/jpeg、image/gif、image/tiff、image/png 格式以外的 GUID 不能使用此函数.
另外, 为了把 GUID 转换为字符串显示, 本例用到了 GUIDToString 函数.
本例效果图:
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} uses GDIPUTIL; procedure TForm1.FormCreate(Sender: TObject); var List: TStringList; ImgGUID: TGUID; i: Integer; begin List := TStringList.Create; List.Add('image/bmp'); List.Add('image/jpeg'); List.Add('image/gif'); List.Add('image/tiff'); List.Add('image/png'); Memo1.Clear; for i := 0 to List.Count - 1 do begin GetEncoderClsid(List[i], ImgGUID); Memo1.Lines.Add(Format('%s: %s', [GUIDToString(ImgGUID), List[i]])); end; List.Free; end; end.
窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 115 ClientWidth = 329 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 = 0 Top = 0 Width = 321 Height = 115 Align = alLeft Lines.Strings = ( 'Memo1') ScrollBars = ssBoth TabOrder = 0 ExplicitHeight = 128 end end
相关文章推荐
- 再学 GDI+[97]: TGPImage(17) - 获取 GDI+ 所支持的可编码、可解码的图像格式
- 再学 GDI+[90]: TGPImage(10) - 获取图像的调色板信息
- 再学 GDI+[99]: TGPImage(19) - 把图像转存为其他格式
- 再学 GDI+[81]: TGPImage(1) - 显示图像
- 再学 GDI+[86]: TGPImage(6) - 拖动图像
- 再学 GDI+[102]: TGPImage(22) - 获取所有解码器的详细信息
- GDI+中TGPImage从流中加载图像
- 再学 GDI+[84]: TGPImage(4) - 把图像显示在指定的矩形中
- 再学 GDI+[91]: TGPImage(11) - 转灰度图像
- 再学 GDI+[93]: TGPImage(13) - 调整图像红、绿、蓝三原色及透明度
- 再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)
- 再学 GDI+[92]: TGPImage(12) - 调整图像透明度
- 再学 GDI+[94]: TGPImage(14) - 增减图像的红、绿、蓝三色的成分
- 再学 GDI+[87]: TGPImage(7) - 调整图像大小
- 再学 GDI+[101]: TGPImage(21) - 获取所有编码器的详细信息
- 创建一副图像,当鼠标点击时,获取对应像素的颜色值
- 获取输入图像格式的代码
- 获取图像格式编码器的CLSID
- PHP 获取图像信息 getimagesize 函数
- 无法从带有索引像素格式的图像创建graphics对象|A Graphics object cannot be created from an image that has an indexed pixel format