10. Изображение

BitMapToJpeg(bmp: TbtkScriptBitMapImageObject): TbtkScriptJpegImageObject

Конвертирует тип TbtkScriptBitMapImageObject в TbtkScriptJpegImageObject

Parameters:bmp (TbtkScriptBitMapImageObject) – Конвертируемый объект.
Return type:TbtkScriptJpegImageObject
Пример использования
<Pascal>
  bmp := ScreenShot.PrintWindow;
  jpgImg := BitMapToJpeg(bmp);
  jpgImg.SaveToFile('Window.jpg');
</Pascal>

10.1. BitMapToJpeg

class BitMapToJpeg

Конвертирует тип TbtkScriptBitMapImageObject в TbtkScryptJpegImageObject

10.2. TbtkScriptBitMapImageObject

class TbtkScriptBitMapImageObject

Оболочка для TBitMap.

10.3. TbtkScriptJpegImageObject

class TbtkScriptJpegImageObject

Оболочка для TJpegImage.

SaveToFile(FileName: String)

Сохраняет изображение в файл.

Parameters:FileName (String) – Имя файла.
Пример использования
<Pascal>
  bmp := ScreenShot.PrintWindow;
  jpgImg := BitMapToJpeg(bmp);
  jpgImg.SaveToFile('Window.jpg');
</Pascal>

10.4. TbtkImageList

class TbtkImageList

Коллекция пиктограмм, класс внутреннего формата клиента “Global1”

Примеры использования:

  • Сохранить набор пиктограмм в виде Html документа, экспортировать в html.

    <PASCAL>
      a :=  TbtkImageList.CReateFromBlob(GetVar('blobDataVCL'));
      html :=  '';
      if Assigned(b) then
      try
        listH :=  VarToStr(b.Height);
        listW :=  VarToStr(b.Width);
        html :=  '<html><doby>'#13;
        for i := 0 to b.Count - 1  do
          html := html +  ' <img index="' + VarToStr(i) + '" src="data:image/png;base64, ' +
          BlobToBase64(b.GetImageBlob(i, 'png')) + '"/> ';
        html := html + '</body></html>';
      finally
        b.Free;
      end;
      SaveBlobToFile('d:\tmp\1.html',  html);
    </PASCAL>
    
  • Преобразовать alpha-слов коллекции пиктограмм (сделать новый слой прозрачности, по цвету прозрачности - как это делал старый алгорит, не учитывающий возможности существования alpha-слоя)

    <PASCAL>
    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;
    </PASCAL>
    
Height: Integer

Высота пиктограмм в наборе, в пикселях.

Аттрибут только для чтения

Return type:Integer
Width: Integer

Ширина пиктограмм в наборе, в пикселях.

Аттрибут только для чтения

Return type:Integer
Count: Integer

Количество пиктограмм в наборе.

Аттрибут только для чтения

Return type:Integer
CreateFromBlob(BlobData: Variant): TbtkImageList

Создать новый экземпляр коллекции пиктограмм загрузив содержимое из блоба.

Parameters:BlobData (Variant) – Бинарные данные - сериализованный в блоб экземпляр TbtkImageList. см. описание метода TbtkImageList.SerializeToBlob.
Return type:TbtkImageList
GetImageBlob(Index: Integer; Format: String = 'bmp'): Variant

Возвращает i-тую картинку в наборе пиктограмм, возвращяются бинарные данные в заданном параметром Format графическом формате.

Parameters:
  • Index (Integer) – Порядковый номер экспортируемого изображения в коллекции пиктограм.
  • Format (String) –

    Возможные значения (поддерживаемые форматы): - ‘bmp’ - ‘png’ - ‘jpeg’ - ‘gif’ - ‘png.realpha’

    Регистр написание не важен.

    Note

    ’png.realpha’ - тот же png формат, но содержащийся в изображении коллекции alpha-слой(прозрачность/полупрозрачность) игнорируется и перезаписывается новым. Новый слой создаётся на основании “цвета прозрачности” - цвет верхнего-левого пикселя; никакой полупрозрачности. Этот формат экспорта необходим для возможности использовать старых ImageList’ов, которые заполнялись изображениями без alpha-слоя.

Return type:

Variant

Пример, как сохранить i-тую картинку в файл:
<pascal>
  imgList := TbtkImageLIst.CreateFromBlob(GetVar('blobDataVCL'));
  try
    blob := imgList.GetImageBlob(i, 'png');
    SaveBlobToFile('c:\temp\image.png', blob);
  finally
    imgList.Free;
  end;
</pascal>
Create(Width, Height: Integer): TbtkImageList

Создать новый экземпляр коллекции пиктограмм не содержащий ни одного изображения. Ширина и высота изображений будущей коллекции задаётся параметрами сразу.

Parameters:
  • Width (Integer) – Ширина изображений в коллекции
  • Height (Integer) – Высота изображений в коллекции
Return type:

TbtkImageList

AddImage(BlobData: Variant)

Добавить изображение в конец списка пиктограмм. Размеры изображения обязаны соответствовать размерам указанным в списке (ImageList) - параметра конструктора Width, Height и, соответственно, свойства Width и Height (только чтение).

Parameters:BlobData (Variant) – Бинарные данные графического файла (содержимое файла). Поддерживаемые форматы графики: bmp, gif, png, jpeg. Формат графики определяется по сигнатурам формата в бинарных данных.
SerializeToBlob(): Variant

Сериализовать набор пиктограмм (ImageList) в блоб (бинарные данные).

Return type:Variant