|
<< Нажмите, чтобы показать Содержание >> TRVThumbnailMaker |
Класс, создающий качественные уменьшенные или увеличенные копии изображений.
В тексте ниже для простоты будем называть их миниатюрами.
Модуль [VCL/FMX]: RVThumbMaker / fmxRVThumbMaker;
Синтаксис
TRVThumbnailMaker = class;
В приложении создаётся единственный объект этого типа: RVThumbnailMaker. Можно менять свойства и вызывать методы этого объекта.
MaxThumbnailSize: Integer – наибольшая допустимая ширина и высота изображения.
Для VCL и LCL:
procedure AllowThumbnailsFor(Cls: TGraphicClass);
procedure DisallowThumbnailsFor(Cls: TGraphicClass);
Универсальные:
function IsAllowedFor(Gr: TRVGraphic): Boolean;
function MakeThumbnail(Gr: TRVGraphic; Width, Height: Integer): TBitmap;
AllowThumbnailsFor разрешает создание миниатюр для указанного графического класса.
Delphi: по умолчанию создание миниатюр разрешено для TBitmap, TPngImage и TJPEGImage. В Delphi 2010 и более новых версиях это также разрешено для TWicImage, используемого для TIFF-изображений. В старых версиях Delphi (Delphi 2007 и более ранних) миниатюры для прозрачных изображений не создаются.
Lazarus: по умолчанию создание миниатюр разрешено для изображений всех классов, унаследованных от TFPImageBitmap. Сюда входят все растровые графические форматы Lazarus.
DisallowThumbnailsFor запрещает создание миниатюр для указанного графического класса.
IsAllowedFor проверяет, разрешено ли создание миниатюр для указанного изображения.
MakeThumbnail создаёт и возвращает растровое изображение на основе Gr, масштабированное до размера Width x Height. Если Width или Height превышает MaxThumbnailSize, размеры пропорционально уменьшаются.
Метод возвращает nil в следующих случаях:
▪создание миниатюр для Gr не разрешено;
▪Gr пустое (0 x 0);
▪Gr.Width = Width и Gr.Height = Height;
▪и max(Gr.Width, Gr.Height), и max(Width, Height) превышают MaxThumbnailSize, при этом Gr меньше, чем Width x Height – в этом случае требуется увеличить изображение, но вместо этого оно было бы уменьшено.