.. currentmodule:: TatInternalObject Изображение ====================================================================== .. pas:function:: BitMapToJpeg(bmp: TbtkScriptBitMapImageObject): TbtkScriptJpegImageObject Конвертирует тип :pas:class:`TbtkScriptBitMapImageObject` в :pas:class:`TbtkScriptJpegImageObject` :param TbtkScriptBitMapImageObject bmp: Конвертируемый объект. :rtype: TbtkScriptJpegImageObject .. code-block:: delphi :caption: Пример использования bmp := ScreenShot.PrintWindow; jpgImg := BitMapToJpeg(bmp); jpgImg.SaveToFile('Window.jpg'); .. warning:: |not_implemented| BitMapToJpeg ------------ .. pas:class:: BitMapToJpeg Конвертирует тип :pas:class:`TbtkScriptBitMapImageObject` в :pas:class:`TbtkScryptJpegImageObject` .. warning:: |not_supported| TbtkScriptBitMapImageObject ---------------------------------------------------------------------- .. pas:class:: TbtkScriptBitMapImageObject Оболочка для TBitMap. .. warning:: |not_supported| TbtkScriptJpegImageObject ---------------------------------------------------------------------- .. pas:class:: TbtkScriptJpegImageObject Оболочка для TJpegImage. .. warning:: |not_supported| .. pas:method:: SaveToFile(FileName: String) Сохраняет изображение в файл. :param String FileName: Имя файла. .. code-block:: delphi :caption: Пример использования bmp := ScreenShot.PrintWindow; jpgImg := BitMapToJpeg(bmp); jpgImg.SaveToFile('Window.jpg'); TbtkImageList ---------------------------------------------------------------------- .. pas:class:: TbtkImageList Коллекция пиктограмм, класс внутреннего формата клиента "Global1" Примеры использования: - Сохранить набор пиктограмм в виде Html документа, экспортировать в html. .. code-block:: delphi a := TbtkImageList.CreateFromBlob(GetVar('blobDataVCL')); html := ''; if Assigned(b) then try listH := VarToStr(b.Height); listW := VarToStr(b.Width); html := ''#13; for i := 0 to b.Count - 1 do html := html + ' '; html := html + ''; finally b.Free; end; SaveBlobToFile('d:\tmp\1.html', html); - Преобразовать alpha-слов коллекции пиктограмм (сделать новый слой прозрачности, по цвету прозрачности - как это делал старый алгоритм, не учитывающий возможности существования alpha-слоя) .. code-block:: delphi alphalessImageList := TbtkImageList.CreateFromBlob(GetVar('blobDataVCL')); try newImageList := TbtkImageList.Create(alphalessImageList.Width, alphalessImageList.Height); try for i := 0 to a.Count - 1 do newImageList.AddImage(alphalessImageList.GetImageBlob(i, 'png.realpha')); SetVar('blobDataVCL', newImageList.SerializeToBlob); finally newImageList.Free; end; finally alphalessImageList.Free; end; .. pas:attribute:: Height: Integer Высота пиктограмм в наборе, в пикселях. Атрибут только для чтения :rtype: Integer .. pas:attribute:: Width: Integer Ширина пиктограмм в наборе, в пикселях. Атрибут только для чтения :rtype: Integer .. pas:attribute:: Count: Integer Количество пиктограмм в наборе. Атрибут только для чтения :rtype: Integer .. pas:method:: CreateFromBlob(BlobData: Variant): TbtkImageList Создать новый экземпляр коллекции пиктограмм загрузив содержимое из блоба. :param Variant BlobData: Бинарные данные - сериализованный в блоб экземпляр :pas:class:`TbtkImageList`. см. описание метода :pas:class:`TbtkImageList.SerializeToBlob`. :rtype: TbtkImageList .. warning:: |not_implemented| .. pas:method:: GetImageBlob(Index: Integer; Format: String = 'bmp'): Variant Возвращает i-тую картинку в наборе пиктограмм, возвращаются бинарные данные в заданном параметром *Format* графическом формате. :param Integer Index: Порядковый номер экспортируемого изображения в коллекции пиктограмм. :param String Format: Возможные значения (поддерживаемые форматы): - 'bmp' - 'png' - 'jpeg' - 'gif' - 'png.realpha' Регистр написание не важен. .. note:: 'png.realpha' - тот же png формат, но содержащийся в изображении коллекции alpha-слой(прозрачность/полупрозрачность) игнорируется и перезаписывается новым. Новый слой создаётся на основании "цвета прозрачности" - цвет верхнего-левого пикселя; никакой полупрозрачности. Этот формат экспорта необходим для возможности использования старых ImageList'ов, которые заполнялись изображениями без alpha-слоя. :rtype: Variant .. code-block:: delphi :caption: Пример, как сохранить i-тую картинку в файл: imgList := TbtkImageList.CreateFromBlob(GetVar('blobDataVCL')); try blob := imgList.GetImageBlob(i, 'png'); SaveBlobToFile('c:\temp\image.png', blob); finally imgList.Free; end; .. warning:: |not_implemented| .. pas:method:: Create(Width, Height: Integer): TbtkImageList Создать новый экземпляр коллекции пиктограмм не содержащий ни одного изображения. Ширина и высота изображений будущей коллекции задаётся параметрами сразу. :param Integer Width: Ширина изображений в коллекции :param Integer Height: Высота изображений в коллекции :rtype: TbtkImageList .. warning:: |not_supported| .. pas:method:: AddImage(BlobData: Variant) Добавить изображение в конец списка пиктограмм. Размеры изображения обязаны соответствовать размерам указанным в списке (ImageList) - параметра конструктора Width, Height и, соответственно, свойства Width и Height (только чтение). :param Variant BlobData: Бинарные данные графического файла (содержимое файла). Поддерживаемые форматы графики: bmp, gif, png, jpeg. Формат графики определяется по сигнатурам формата в бинарных данных. .. warning:: |not_supported| .. pas:method:: SerializeToBlob(): Variant Сериализовать набор пиктограмм (ImageList) в блоб (бинарные данные). :rtype: Variant .. warning:: |not_supported|