TRVCamView.ViewMode

<< Нажмите, чтобы показать Содержание >>

TRVCamView.ViewMode

Определяет, как видеокадры располагаются и масштабируются в окне просмотра.

type

  // определено в модуле MRVType/fmxMRVType

  TRVCamViewMode = (

    vvmNormal, vvmCenter, vvmCut, vvmAspect, vvmStretch

  );

 

property ViewMode: TRVCamViewMode;

Режим

Иллюстрация

vvmNormal

Видео отображается в левом верхнем углу окна без растягивания.

view_mode_normal

vvmCenter

Видео отображается в середине окна без растягивания.

view_mode_center

vvmCut

Видео растягивается пропорционально таким образом, чтобы меньшая сторона помещалась в окно, а большая сторона была показана частично.

view_mode_cut

vvmAspect (default)

Видео пропорционально растягивается, чтобы соответствовать размеру окна.

view_mode_aspect

vvmStretch

Видео растягивается на всю область окна без сохранения пропорций сторон.

view_mode_stretch

[Примечание FMX]: Если CaptionColor имеет полупрозрачное значение, область для размещения видео включает область заголовка. В противном случае (а также в VCL и LCL) область для размещения видео находится ниже области заголовка.

Примечание об эффективности

Растягивание больших кадров может занимать заметное время и ресурсы процессора, особенно в VCL и LCL, поэтому режимы «нормальный» и «центральный» работают быстрее.

Как повысить эффективность отрисовки:

[VCL и LCL для Windows] снижение качества масштабирования с помощью свойства FrameScaleQuality

использование режимов «нормальный» или «центральный»

предварительное масштабирование видео.

На размер кадров влияют следующие настройки TRVCamera:

свойство VideoResolution;

GStreamerProperty.UseVideoScale и связанные с ним свойства;

FFMpegProperty.UseVideoScale и связанные с ним свойства;

метод SetCamVideoMode.

Изменение размера видео с помощью FFmpeg или GStreamer вместо растягивания имеет следующие преимущества:

они изменяют размер кадров в контексте потока, в то время как отрисовка выполняется в контексте основного процесса;

если кадры масштабируются с помощью FFmpeg или GStreamer, компоненты могут работать с изображениями меньшего размера, которые обрабатываются быстрее и занимают меньше памяти.

Значение по умолчанию:

vvmAspect

См. также:

Autosize