FGX.Canvas.TfgBitmap: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
(не показана 81 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
− | * [[ | + | * [[ System.Classes.TPersistent | Вверх к родителю: TPersistent ]] |
− | * [[ FGX.Canvas | + | * [[ 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> |
− | |||
== Конструкторы == | == Конструкторы == | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
− | | <code>constructor</ | + | | <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> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
|- | |- | ||
− | | < | + | | <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> |
− | + | <span style="color:gray">Описание отсутствует.</span> | |
|- | |- | ||
− | | < | + | | <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> | |
|} | |} | ||
Строка 35: | Строка 38: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || < | + | | <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> | ||
+ | <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> | ||
+ | |||
+ | <p>Сохраняет изображение в файл.</p><div class="info">Выбор используемого кодека зависит от разрешения файла. Поддерживаемые кодеки (jpg и png)</div> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || < | + | | <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> || < | + | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">SaveToStream(const AStream: [[TStream]]): [[Boolean]]</code> |
− | Сохраняет изображение в | + | <p>Сохраняет изображение в поток.</p> |
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || < | + | | <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> || < | + | | <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"> | + | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">UnmapData(): [[Boolean]]</code> |
− | + | ||
+ | <p>Финальный вызов для окончания работы с сырыми данными битмапа.</p><div class="info">После вызова данные <i>IFGXBitmapData</i> инвалидируются.</div> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi"> | + | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsHandleCreated(): [[Boolean]]</code> |
− | + | <p>Нативный хендл может создаваться отложенно. Он может создаваться в момент первой необходимости работать с нативным битмапом.</p> | |
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || < | + | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Changed()</code> |
− | Определеяет, пустое изображение или нет? Пустое - это изображение, которое имеет нулевые размеры. | + | <p>Вызывает срабатывание обработчика OnChanged.</p> |
+ | |- | ||
+ | | <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> | ||
+ | <p>Определеяет, пустое изображение или нет? Пустое - это изображение, которое имеет нулевые размеры.</p> | ||
|} | |} | ||
Строка 64: | Строка 90: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>MaxSize: [[TSize]]</code> |
− | Возвращает максимально допустимый размер нативного битмапа. | + | <p>Возвращает максимально допустимый размер нативного битмапа.</p> |
+ | |- | ||
+ | | <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> | ||
+ | <p>Хендл нативного битмапа.</p> | ||
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Canvas: [[FGX.Canvas.TfgCanvas|TfgCanvas]]</code> |
− | + | <p>Канва для доступа к возможностям выполнять отрисовки по битмапу. По умолчанию битмап не имеет канвы, однако, по первому запросу канва создается.</p> | |
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Size: [[TSize]]</code> |
− | + | <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> |
− | + | <p>Ширина в терминах физического размера.</p> | |
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Height: [[Integer]]</code> |
− | + | <p>Высота в терминах физического размера.</p> | |
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalWidth: [[Single]]</code> |
− | + | <p>Ширина в терминах логического размера с учетом скейла экрана.</p> | |
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LogicalHeight: [[Single]]</code> |
− | + | <p>Высота в терминах логического размера с учетом скейла экрана.</p> | |
|- | |- | ||
− | | <code> | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Scale: [[Single]]</code> |
− | + | <p>Скейл, используемый при выводе изображения на экран. Именно это свойство отвечает, какие окончательные физические размеры будут у изображения.</p> | |
+ | |} | ||
+ | |||
+ | == События == | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnChanged: [[TNotifyEvent]]</code> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |} | ||
+ | |||
+ | == Константы == | ||
+ | |||
+ | {| class="wikitable sortable" | ||
|- | |- | ||
− | | < | + | | <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultScale: [[Integer]]</code> |
− | + | <span style="color:gray">Описание отсутствует.</span> | |
|} | |} |
Текущая версия на 03:15, 6 декабря 2021
Delphi
TfgBitmap = class (TPersistent)
Содержание
Описание
Представление платформозависимого битмапа в памяти.
Конструкторы
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
Описание отсутствует. |