本例效果图:
代码文件:
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 GDIPOBJ, GDIPAPI; procedure TForm1.FormCreate(Sender: TObject); var num, size, i: Cardinal; ImageCodecInfo: PImageCodecInfo; Type ArrImageCode = array of TImageCodecInfo; begin Memo1.Clear; {获取 GDI+ 可以编码的图像格式:} GetImageEncodersSize(num, size); GetMem(ImageCodecInfo, size); GetImageEncoders(num, size, ImageCodecInfo); Memo1.Lines.Add('GDI+ 可以编码的图像格式有:'); for i := 0 to num - 1 do Memo1.Lines.Add(ArrImageCode(ImageCodecInfo)[i].MimeType); FreeMem(ImageCodecInfo, size); {获取 GDI+ 可以解码的图像格式:} GetImageDecodersSize(num, size); GetMem(ImageCodecInfo, size); GetImageDecoders(num, size, ImageCodecInfo); Memo1.Lines.Add(''); Memo1.Lines.Add('GDI+ 可以解码码的图像格式有:'); for i := 0 to num - 1 do Memo1.Lines.Add(ArrImageCode(ImageCodecInfo)[i].MimeType); FreeMem(ImageCodecInfo, size); end; end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 251 ClientWidth = 206 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 = 201 Height = 251 Align = alLeft Lines.Strings = ( 'Memo1') ScrollBars = ssBoth TabOrder = 0 ExplicitHeight = 239 end end