|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
GdipGraphic (BMP, JPEG, GIF, TIFF, PNG)
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; Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 24.12.2012 в 09:55. |
#2
|
||||
|
||||
Я подозреваю, это API-шный вариант, переделанный для всех под VCL, или, по-крайней мере, то из чего в последстви был сделан API вариант.
P.S. Если уж выкладывешь DCU-шку, то хотя бы делай и под другие версии Дельфи также. Мне оно в любом варианте не нужно (посмотрел и стёр) , но остальные не все пользуются 7 версией Дельфи. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 15.02.2012 в 01:00. |
#3
|
|||
|
|||
Интересно, но с исходником бы...
Готовые dcu не использую, т.к. у меня стоит измененный jpeg.dcu (и некоторые другие модули) со всеми вытекающими... |
#4
|
||||
|
||||
префикс Gdip означает Windows GDI+
Пишу программы за еду. __________________ |
#5
|
||||
|
||||
Хороший ответ, главное ни к чему.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
||||
|
||||
это по поводу:
Цитата:
Пишу программы за еду. __________________ |