.. 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|