FGX.Camera.TfgCustomCamera: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
Строка 14: | Строка 14: | ||
− | <p>Компонент доступа к камере устройства. Позволяет выбрать камеру наилучшим образом согласно настройкам.</p><div class="info">Ограничение: можно использовать только один компонент с <i>Active.True</i> в рамках всего приложения.</div> | + | <p>Компонент доступа к камере устройства. Позволяет выбрать камеру наилучшим образом согласно настройкам.</p><div class="info"><p>Ограничение: можно использовать только один компонент с <i>Active.True</i> в рамках всего приложения.</p><p>Камера автоматически отключается, когда приложение уходит в фон и заново восстанавливает свою работу, когда приложение выходит на передний план.</p></div> |
== Конструкторы == | == Конструкторы == | ||
Строка 27: | Строка 27: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">AttachPreview(const APreview: [[FGX.Camera.IFGXCameraPreview|IFGXCameraPreview]])</code> | + | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">AttachPreview(const APreview: [[FGX.Camera.Types.IFGXCameraPreview|IFGXCameraPreview]])</code> |
<p>Прикрепляет к текущей камере контрол для вывода превью.</p><div class="info">К одной камере можно прикреплять несколько потребителей кадров.</div> | <p>Прикрепляет к текущей камере контрол для вывода превью.</p><div class="info">К одной камере можно прикреплять несколько потребителей кадров.</div> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi"> | + | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">DetachPreview(const APreview: [[FGX.Camera.Types.IFGXCameraPreview|IFGXCameraPreview]])</code> |
<p>Отвязывает прикрепленный для превью контрол.</p> | <p>Отвязывает прикрепленный для превью контрол.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi"> | + | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">DetachPreviews()</code> |
<p>Отвязывает все прикрепленные для превью контролы.</p> | <p>Отвязывает все прикрепленные для превью контролы.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetTheBestSize(const AFrameType: [[FGX.Camera.Types.TfgFrameType|TfgFrameType]]; const AWishesSize: [[TSize]]): [[TSize]]</code> | ||
+ | <p>Возвращает наилучший размер кадра камеры (из списка доступных конфигураций камеры) на основании желаемого размера <i>AWishesSize</i> .</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetTheBestSize(const ASizes: [[TArray<System.Types.TSize>]]; const AWishesSize: [[TSize]]): [[TSize]]</code> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">CapturePhotoAsync(const AFileName: [[string]])</code> | ||
+ | |||
+ | <p>Асинхронно выполняет запрос на получение фотографии с камеры с максимально допустимым размером <i>MaxFrameSize</i> и сохраняет фотографию в файл <i>AFileName</i> . Если фотография успешно снята, то вызывается событие <i>OnCaptureReady</i> , в противном случае - <i>OnCaptureError</i> .</p><div class="info">Обязательно убедитесь, что ваше приложение имеет доступ к месторасположению вашего будущего файла фотографии <i>AFileName</i> .</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">CapturePhotoAsync(const ABtmap: [[FGX.Canvas.TfgBitmap|TfgBitmap]])</code> | ||
+ | |||
+ | <p>Асинхронно выполняет запрос на получение фотографии с камеры с максимально допустимым размером <i>MaxFrameSize</i> и сохраняет фотографию в битмап <i>ABtmap</i> . Если фотография успешно снята, то вызывается событие <i>OnCaptureReady</i> , в противном случае - <i>OnCaptureError</i> .</p><div class="info">Битмап имеет ограничение на максимально допустимый размер, поэтому перед вызовом метода убедитесь, что <i>ARequiredSize</i> согласован с <i>TfgBitmap.MaxSize</i> .</div> | ||
|} | |} | ||
Строка 42: | Строка 56: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>NativeCamera: [[FGX.Camera.IFGXCamera|IFGXCamera]]</code> | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>NativeCamera: [[FGX.Camera.Types.IFGXCamera|IFGXCamera]]</code> |
− | <p>Доступ к выбранной камере.</p><div class="info">Может вернуть <i>nil</i> , если ни одна камера не подходит под заданные настройки.</div> | + | <p>Доступ к выбранной камере.</p><div class="info">Может вернуть <i>nil</i> , если ни одна камера не подходит под заданные настройки. Возвращает null, если камера не запущена.</div> |
|- | |- | ||
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Active: [[Boolean]]</code> | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Active: [[Boolean]]</code> | ||
<p><i>True</i> - камера запускается/запущена. <i>False</i> - камера остановлена.</p> | <p><i>True</i> - камера запускается/запущена. <i>False</i> - камера остановлена.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CameraType: [[FGX.Camera.TfgCameraType|TfgCameraType]]</code> | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CameraType: [[FGX.Camera.Types.TfgCameraType|TfgCameraType]]</code> |
<p>Необходимый тип камеры.</p> | <p>Необходимый тип камеры.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>MaxFrameSize: [[FGX.Types. | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>MaxFrameSize: [[FGX.Types.TfgIntegerSize|TfgIntegerSize]]</code> |
<p>Необходимый максимально допустимый размер кадров, которые генерирует камера.</p><div class="info">Если указано значени 0 для щирины и/или высоты, то это означает, что соответствующий размер не имеет ограничения.</div> | <p>Необходимый максимально допустимый размер кадров, которые генерирует камера.</p><div class="info">Если указано значени 0 для щирины и/или высоты, то это означает, что соответствующий размер не имеет ограничения.</div> | ||
Строка 64: | Строка 78: | ||
<p>Срабатывает, когда камеры уже выбраны согласно указанным настройкам.</p><div class="info">Согласно указанным настройкам компонент может выбрать более, чем одну камеру. В этом случае, компонент по умолчанию выбирает первую из списка. При помощи этого события вы можете скорректировать выбор камеры.</div> | <p>Срабатывает, когда камеры уже выбраны согласно указанным настройкам.</p><div class="info">Согласно указанным настройкам компонент может выбрать более, чем одну камеру. В этом случае, компонент по умолчанию выбирает первую из списка. При помощи этого события вы можете скорректировать выбор камеры.</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnError: [[TOnCameraErrorEvent]]</code> | ||
+ | <p>Вызвается, когда в камере возникает ошибка.</p> | ||
|- | |- | ||
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnStateChanged: [[TOnCameraStateChangedEvent]]</code> | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnStateChanged: [[TOnCameraStateChangedEvent]]</code> | ||
<p>Вызывается, когда камера меняет свое состояние.</p> | <p>Вызывается, когда камера меняет свое состояние.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCapturePhotoError: [[TOnCameraCapturePhotoErrorEvent]]</code> | ||
+ | <p>Вызывается, если в процессе получения фотографии с камеры возникла ошибка.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCapturePhotoReady: [[TOnCameraCapturePhotoReadyEvent]]</code> | ||
+ | <p>Вызывается, когда фотография получена с камеры.</p> | ||
|} | |} | ||
Строка 79: | Строка 102: | ||
<span style="color:gray">Описание отсутствует.</span> | <span style="color:gray">Описание отсутствует.</span> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultCameraType: [[FGX.Camera.TfgCameraType|TfgCameraType]]</code> | + | | <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultCameraType: [[FGX.Camera.Types.TfgCameraType|TfgCameraType]]</code> |
<span style="color:gray">Описание отсутствует.</span> | <span style="color:gray">Описание отсутствует.</span> | ||
|} | |} |
Версия 03:08, 30 декабря 2019
Delphi
TfgCustomCamera = class (TComponent)
Прямые наследники: TfgCamera
Содержание
Описание
Компонент доступа к камере устройства. Позволяет выбрать камеру наилучшим образом согласно настройкам.
Ограничение: можно использовать только один компонент с Active.True в рамках всего приложения.
Камера автоматически отключается, когда приложение уходит в фон и заново восстанавливает свою работу, когда приложение выходит на передний план.
Конструкторы
constructor
|
Create(AOwner: TComponent)
Описание отсутствует. |
Методы
procedure
|
AttachPreview(const APreview: IFGXCameraPreview)
Прикрепляет к текущей камере контрол для вывода превью. К одной камере можно прикреплять несколько потребителей кадров.
|
procedure
|
DetachPreview(const APreview: IFGXCameraPreview)
Отвязывает прикрепленный для превью контрол. |
procedure
|
DetachPreviews()
Отвязывает все прикрепленные для превью контролы. |
function
|
GetTheBestSize(const AFrameType: TfgFrameType; const AWishesSize: TSize): TSize
Возвращает наилучший размер кадра камеры (из списка доступных конфигураций камеры) на основании желаемого размера AWishesSize . |
function
|
GetTheBestSize(const ASizes: [[TArray<System.Types.TSize>]]; const AWishesSize: TSize): TSize
Описание отсутствует. |
procedure
|
CapturePhotoAsync(const AFileName: string)
Асинхронно выполняет запрос на получение фотографии с камеры с максимально допустимым размером MaxFrameSize и сохраняет фотографию в файл AFileName . Если фотография успешно снята, то вызывается событие OnCaptureReady , в противном случае - OnCaptureError . Обязательно убедитесь, что ваше приложение имеет доступ к месторасположению вашего будущего файла фотографии AFileName .
|
procedure
|
CapturePhotoAsync(const ABtmap: TfgBitmap)
Асинхронно выполняет запрос на получение фотографии с камеры с максимально допустимым размером MaxFrameSize и сохраняет фотографию в битмап ABtmap . Если фотография успешно снята, то вызывается событие OnCaptureReady , в противном случае - OnCaptureError . Битмап имеет ограничение на максимально допустимый размер, поэтому перед вызовом метода убедитесь, что ARequiredSize согласован с TfgBitmap.MaxSize .
|
Свойства
property
|
NativeCamera: IFGXCamera
Доступ к выбранной камере. Может вернуть nil , если ни одна камера не подходит под заданные настройки. Возвращает null, если камера не запущена.
|
property
|
Active: Boolean
True - камера запускается/запущена. False - камера остановлена. |
property
|
CameraType: TfgCameraType
Необходимый тип камеры. |
property
|
MaxFrameSize: TfgIntegerSize
Необходимый максимально допустимый размер кадров, которые генерирует камера. Если указано значени 0 для щирины и/или высоты, то это означает, что соответствующий размер не имеет ограничения.
|
События
event
|
OnCameraSelect: TOnCameraSelectEvent
Срабатывает, когда камеры уже выбраны согласно указанным настройкам. Согласно указанным настройкам компонент может выбрать более, чем одну камеру. В этом случае, компонент по умолчанию выбирает первую из списка. При помощи этого события вы можете скорректировать выбор камеры.
|
event
|
OnError: TOnCameraErrorEvent
Вызвается, когда в камере возникает ошибка. |
event
|
OnStateChanged: TOnCameraStateChangedEvent
Вызывается, когда камера меняет свое состояние. |
event
|
OnCapturePhotoError: TOnCameraCapturePhotoErrorEvent
Вызывается, если в процессе получения фотографии с камеры возникла ошибка. |
event
|
OnCapturePhotoReady: TOnCameraCapturePhotoReadyEvent
Вызывается, когда фотография получена с камеры. |
Константы
const
|
UndefinedFrameSize: Integer
Описание отсутствует. |
const
|
DefaultActive: Boolean
Описание отсутствует. |
const
|
DefaultCameraType: TfgCameraType
Описание отсутствует. |