FGX.Canvas.TfgBitmap: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
 
(не показаны 33 промежуточные версии этого же участника)
Строка 1: Строка 1:
* [[ FGX.Canvas | Вверх к родителю: FGX.Canvas ]]
+
* [[ System.Classes.TPersistent | Вверх к родителю: TPersistent ]]
 +
* [[ FGX.Canvas | К модулю: FGX.Canvas ]]
  
 
Delphi
 
Delphi
  
 
<syntaxhighlight lang="Delphi">TfgBitmap = class (TPersistent)</syntaxhighlight>
 
<syntaxhighlight lang="Delphi">TfgBitmap = class (TPersistent)</syntaxhighlight>
 +
 +
<p class="class-inheritance"><span class="type-border">[[System.Classes.TPersistent|TPersistent]]</span> -> <span class="type-border">[[FGX.Canvas.TfgBitmap|TfgBitmap]]</span></p>
  
 
== Описание ==
 
== Описание ==
  
Представление платформозависимого битмапа в памяти.
+
<p>Представление платформозависимого битмапа в памяти.</p>
 
 
 
== Конструкторы ==
 
== Конструкторы ==
  
Строка 14: Строка 16:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create()</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create()</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(const AWidth: [[Integer]]; const AHeight: [[Integer]])</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(const AWidth: [[Integer]]; const AHeight: [[Integer]])</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromStream(const AStream: [[TStream]])</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromStream(const AStream: [[TStream]])</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromFile(const AFileName: [[string]])</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromFile(const AFileName: [[string]])</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromBitmap(const ABitmap: [[FGX.Canvas.TfgBitmap|TfgBitmap]])</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromBitmap(const ABitmap: [[FGX.Canvas.TfgBitmap|TfgBitmap]])</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>CreateFromNativeBitmap(const ANativeBitmap: [[IInterface]])</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 
|}
 
|}
  
Строка 34: Строка 39:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">LoadFromFile(const AFileName: [[string]]): [[Boolean]]</code>
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">LoadFromFile(const AFileName: [[string]]): [[Boolean]]</code>
Загружает нативный битмап из файла в существующий нативный битмап. Возвращает размер загруженного файла.
+
 
 +
<p>Загружает нативный битмап из файла в существующий нативный битмап. Возвращает размер загруженного файла.</p><div class="info">Для Андроида: Если в качестве имени файла будет передано имя файла с изображением из ресурсов (папка assets), то сервис загрузит изображение из ресурсов. Например, если файл изображения развертывается по пути <i>assets\folder\filename.png</i> , то в качестве AFileName нужно указывать <i>folder\filename.png</i> .</div>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">LoadFromStream(const AStream: [[TStream]]): [[Boolean]]</code>
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">LoadFromStream(const AStream: [[TStream]]): [[Boolean]]</code>
Загружает нативный битмап из переданного потока в существующий нативный битмап.
+
<p>Загружает нативный битмап из переданного потока в существующий нативный битмап.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">LoadFromNativeBitmap(const ANativeBitmap: [[IInterface]])</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToFile(const AFileName: [[string]]): [[Boolean]]</code>
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToFile(const AFileName: [[string]]): [[Boolean]]</code>
Сохраняет изображение в файл.
+
 
 +
<p>Сохраняет изображение в файл.</p><div class="info">Выбор используемого кодека зависит от разрешения файла. Поддерживаемые кодеки (jpg и png)</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToFile(const AFileName: [[string]]; const AParams: [[TfgBitmapSaveParams|TfgBitmapSaveParams]]): [[Boolean]]</code>
 +
 
 +
<p>Сохраняет изображение в файл с возможностью указать параметры сохранения.</p><div class="info">Выбор используемого кодека зависит от разрешения файла. Поддерживаемые кодеки (jpg и png)</div>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToStream(const AStream: [[TStream]]): [[Boolean]]</code>
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToStream(const AStream: [[TStream]]): [[Boolean]]</code>
Сохраняет изображение в поток.
+
<p>Сохраняет изображение в поток.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToStream(const AStream: [[TStream]]; const AFormat: [[FGX.Canvas.TfgImageFormat|TfgImageFormat]]; const AParams: [[TfgBitmapSaveParams|TfgBitmapSaveParams]]): [[Boolean]]</code>
 +
<p>Сохраняет изображение в поток.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">MapData(out AData: [[FGX.Canvas.Types.IFGXBitmapData|IFGXBitmapData]]): [[Boolean]]</code>
 +
 
 +
<p>Стартовый вызов для начала работы с сырыми данными битмапа.</p><div class="info"><i>IFGXBitmapData</i> не использует подсчёт ссылок. После разрушения битмапа ссылка инвалидируется.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">UnmapData(): [[Boolean]]</code>
 +
 
 +
<p>Финальный вызов для окончания работы с сырыми данными битмапа.</p><div class="info">После вызова данные <i>IFGXBitmapData</i> инвалидируются.</div>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsHandleCreated(): [[Boolean]]</code>
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsHandleCreated(): [[Boolean]]</code>
Нативный хендл может создаваться отложенно. Он может создаваться в момент первой необходимости работать с нативным битмапом.
+
<p>Нативный хендл может создаваться отложенно. Он может создаваться в момент первой необходимости работать с нативным битмапом.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Changed()</code>
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Changed()</code>
Вызывает срабатывание обработчика OnChanged.
+
<p>Вызывает срабатывание обработчика OnChanged.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ApplyTintColor(const ATintColor: [[TAlphaColor]])</code>
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ApplyTintColor(const ATintColor: [[TAlphaColor]])</code>
Задает оттенок изображения. Операция не отменяемая.
+
<p>Задает оттенок изображения. Операция не отменяемая.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Rotate(const AAngle: [[FGX.Screen.TfgRotation|TfgRotation]])</code>
 +
<p>Поворачивает изображение на указанный угол.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsEmpty(): [[Boolean]]</code>
 
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsEmpty(): [[Boolean]]</code>
Определеяет, пустое изображение или нет? Пустое - это изображение, которое имеет нулевые размеры.
+
<p>Определеяет, пустое изображение или нет? Пустое - это изображение, которое имеет нулевые размеры.</p>
 
|}
 
|}
  
Строка 63: Строка 91:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>MaxSize: [[TSize]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>MaxSize: [[TSize]]</code>
Возвращает максимально допустимый размер нативного битмапа.
+
<p>Возвращает максимально допустимый размер нативного битмапа.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Bounds: [[TRect]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Bounds: [[TRect]]</code>
Вспомогательный метод возвращающий фрейм.
+
<p>Вспомогательный метод возвращающий физический фрейм.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalBounds: [[TRectF]]</code>
 +
<p>Вспомогательный метод возвращающий логический фрейм.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Handle: [[FGX.Canvas.TfgBitmapHandle|TfgBitmapHandle]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Handle: [[FGX.Canvas.TfgBitmapHandle|TfgBitmapHandle]]</code>
Хендл нативного битмапа.
+
<p>Хендл нативного битмапа.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Canvas: [[FGX.Canvas.TfgCanvas|TfgCanvas]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Canvas: [[FGX.Canvas.TfgCanvas|TfgCanvas]]</code>
Канва для доступа к возможностям выполнять отрисовки по битмапу. По умолчанию битмап не имеет канвы, однако, по первому запросу канва создается.
+
<p>Канва для доступа к возможностям выполнять отрисовки по битмапу. По умолчанию битмап не имеет канвы, однако, по первому запросу канва создается.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Size: [[TSize]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Size: [[TSize]]</code>
Физический размер битмапа. Сколько точек экрана реально занимает битмап, если его выводить на экран в масштабе 1 : 1.
+
<p>Физический размер битмапа. Сколько точек экрана реально занимает битмап, если его выводить на экран в масштабе 1 : 1.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalSize: [[TSizeF]]</code>
 +
<p>Логический размер битмапа с учетом коэффициента масштабирования <i>Scale</i> .</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Width: [[Integer]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Width: [[Integer]]</code>
Ширина в терминах физического размера.
+
<p>Ширина в терминах физического размера.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Height: [[Integer]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Height: [[Integer]]</code>
Высота в терминах физического размера.
+
<p>Высота в терминах физического размера.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalWidth: [[Single]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalWidth: [[Single]]</code>
Ширина в терминах логического размера с учетом скейла экрана.
+
<p>Ширина в терминах логического размера с учетом скейла экрана.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalHeight: [[Single]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalHeight: [[Single]]</code>
Высота в терминах логического размера с учетом скейла экрана.
+
<p>Высота в терминах логического размера с учетом скейла экрана.</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Scale: [[Single]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Scale: [[Single]]</code>
Скейл, используемый при выводе изображения на экран. Именно это свойство отвечает, какие окончательные физические размеры будут у изображения.
+
<p>Скейл, используемый при выводе изображения на экран. Именно это свойство отвечает, какие окончательные физические размеры будут у изображения.</p>
 
|}
 
|}
  
Строка 98: Строка 132:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnChanged: [[TNotifyEvent]]</code>
 
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnChanged: [[TNotifyEvent]]</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|}
 
|}
  
Строка 106: Строка 140:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultScale: [[Integer]]</code>
 
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultScale: [[Integer]]</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|}
 
|}

Текущая версия на 03:15, 6 декабря 2021

Delphi

TfgBitmap = class (TPersistent)

TPersistent -> TfgBitmap

Описание

Представление платформозависимого битмапа в памяти.

Конструкторы

constructor
Create()

Описание отсутствует.

constructor
Create(const AWidth: Integer; const AHeight: Integer)

Описание отсутствует.

constructor
CreateFromStream(const AStream: TStream)

Описание отсутствует.

constructor
CreateFromFile(const AFileName: string)

Описание отсутствует.

constructor
CreateFromBitmap(const ABitmap: TfgBitmap)

Описание отсутствует.

constructor
CreateFromNativeBitmap(const ANativeBitmap: IInterface)

Описание отсутствует.

Методы

function
LoadFromFile(const AFileName: string): Boolean

Загружает нативный битмап из файла в существующий нативный битмап. Возвращает размер загруженного файла.

Для Андроида: Если в качестве имени файла будет передано имя файла с изображением из ресурсов (папка assets), то сервис загрузит изображение из ресурсов. Например, если файл изображения развертывается по пути assets\folder\filename.png , то в качестве AFileName нужно указывать folder\filename.png .
function
LoadFromStream(const AStream: TStream): Boolean

Загружает нативный битмап из переданного потока в существующий нативный битмап.

procedure
LoadFromNativeBitmap(const ANativeBitmap: IInterface)

Описание отсутствует.

function
SaveToFile(const AFileName: string): Boolean

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

Выбор используемого кодека зависит от разрешения файла. Поддерживаемые кодеки (jpg и png)
function
SaveToFile(const AFileName: string; const AParams: TfgBitmapSaveParams): Boolean

Сохраняет изображение в файл с возможностью указать параметры сохранения.

Выбор используемого кодека зависит от разрешения файла. Поддерживаемые кодеки (jpg и png)
function
SaveToStream(const AStream: TStream): Boolean

Сохраняет изображение в поток.

function
SaveToStream(const AStream: TStream; const AFormat: TfgImageFormat; const AParams: TfgBitmapSaveParams): Boolean

Сохраняет изображение в поток.

function
MapData(out AData: IFGXBitmapData): Boolean

Стартовый вызов для начала работы с сырыми данными битмапа.

IFGXBitmapData не использует подсчёт ссылок. После разрушения битмапа ссылка инвалидируется.
function
UnmapData(): Boolean

Финальный вызов для окончания работы с сырыми данными битмапа.

После вызова данные IFGXBitmapData инвалидируются.
function
IsHandleCreated(): Boolean

Нативный хендл может создаваться отложенно. Он может создаваться в момент первой необходимости работать с нативным битмапом.

procedure
Changed()

Вызывает срабатывание обработчика OnChanged.

procedure
ApplyTintColor(const ATintColor: TAlphaColor)

Задает оттенок изображения. Операция не отменяемая.

procedure
Rotate(const AAngle: TfgRotation)

Поворачивает изображение на указанный угол.

function
IsEmpty(): Boolean

Определеяет, пустое изображение или нет? Пустое - это изображение, которое имеет нулевые размеры.

Свойства

property
MaxSize: TSize

Возвращает максимально допустимый размер нативного битмапа.

property
Bounds: TRect

Вспомогательный метод возвращающий физический фрейм.

property
LogicalBounds: TRectF

Вспомогательный метод возвращающий логический фрейм.

property
Handle: TfgBitmapHandle

Хендл нативного битмапа.

property
Canvas: TfgCanvas

Канва для доступа к возможностям выполнять отрисовки по битмапу. По умолчанию битмап не имеет канвы, однако, по первому запросу канва создается.

property
Size: TSize

Физический размер битмапа. Сколько точек экрана реально занимает битмап, если его выводить на экран в масштабе 1 : 1.

property
LogicalSize: TSizeF

Логический размер битмапа с учетом коэффициента масштабирования Scale .

property
Width: Integer

Ширина в терминах физического размера.

property
Height: Integer

Высота в терминах физического размера.

property
LogicalWidth: Single

Ширина в терминах логического размера с учетом скейла экрана.

property
LogicalHeight: Single

Высота в терминах логического размера с учетом скейла экрана.

property
Scale: Single

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

События

event
OnChanged: TNotifyEvent

Описание отсутствует.

Константы

const
DefaultScale: Integer

Описание отсутствует.