GdipGraphic - модуль для работы с изображениями
BMP, JPEG, GIF, TIFF, PNG.
Класс: TGdipGraphic = class(TGraphic)
Код:
public
property GpImage: GpImage read FGpImage;
property ImageRawFormat: TGUID read GetImageRawFormat;
constructor Create; override;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
procedure Draw(ACanvas: TCanvas; const Rect: TRect); override;
procedure LoadFromStream(Stream: TStream); override;
procedure SaveToStream(Stream: TStream); override;
procedure SaveToStreamEncoder(Stream: TStream; clsidEncoder: TGUID);
procedure SaveToFileEncoder(Filename: String; clsidEncoder: TGUID);
procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle;
APalette: HPALETTE); override;
procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle;
var APalette: HPALETTE); override;
procedure LoadFromResource(ResName: String);
end;
Возможности:
-поддержка в
TImage
-поддержка прозрачности
-чтение из файла, потока, ресурса (RT_RCDATA)
-сохранение в файл, поток в нужном формате (BMP, JPEG, GIF, TIFF, PNG)
-определение формата изображения
-отображение на TCanvas
-изменение размеров при отображении
-копирование в буфер обмена как CF_BITMAP
-вставка из буфера обмена CF_BITMAP
Константы кодировщика:
Код:
EncoderBMP: TGUID = '{557CF400-1A04-11D3-9A73-0000F81EF32E}';
EncoderJPEG: TGUID = '{557CF401-1A04-11D3-9A73-0000F81EF32E}';
EncoderGIF: TGUID = '{557CF402-1A04-11D3-9A73-0000F81EF32E}';
EncoderTIFF: TGUID = '{557CF405-1A04-11D3-9A73-0000F81EF32E}';
EncoderPNG: TGUID = '{557CF406-1A04-11D3-9A73-0000F81EF32E}';
Константы декодера:
Код:
DecoderBMP: TGUID = '{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}';
DecoderJPEG: TGUID = '{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}';
DecoderGIF: TGUID = '{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}';
DecoderTIFF: TGUID = '{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}';
DecoderPNG: TGUID = '{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}';
Скачать:
http://narod.ru/disk/64758205001.4db...aphic.rar.html
Демки:
http://narod.ru/disk/64756924001.a86...htest.rar.html
http://narod.ru/disk/64756916001.99d...cTest.rar.html
Пример кода:
Код:
uses
GdipGraphic,
var
GdipImage: TGdipGraphic;
begin
GdipImage:=TGdipGraphic.Create;
GdipImage.LoadFromFile('Landscape.png');
GdipImage.SaveToFileEncoder('Landscape.tif', EncoderTIFF);
GdipImage.Free;
end;