FMX.Media.TVideoCaptureDevice.Quality
Delphi
property Quality: TVideoCaptureQuality read GetQuality write SetQuality;
C++
__property TVideoCaptureQuality Quality = {read=GetQuality, write=SetQuality, nodefault};
Sommaire
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
property | public | FMX.Media.pas FMX.Media.hpp |
FMX.Media | TVideoCaptureDevice |
Description
Spécifie la qualité de la capture vidéo.
La propriété Quality de type TVideoCaptureQuality peut prendre l'une des valeurs suivantes :
Valeur | Signification |
---|---|
|
Les données capturées sont de qualité photo en haute résolution. |
|
Les données capturées sont en haute résolution (selon le périphérique). |
|
Les données capturées sont en moyenne résolution (selon le périphérique). |
|
Les données capturées sont en basse résolution (selon le périphérique). |
|
Cette option vous permet de définir une résolution des données de capture personnalisée. |
Par défaut, Quality est définie sur CaptureSettings
et elle utilise la meilleure qualité de caméra disponible (meilleure résolution et meilleure fréquence d'images) en donnant la priorité à la résolution
.
Par exemple, pour changer la qualité du TVideoCaptureDevice VideoCaptureDevice1
sur LowQuality
, vous pouvez utiliser la ligne suivante :
VideoCaptureDevice1.Quality := TVideoCaptureQuality.LowQuality;
VideoCaptureDevice1->Quality = TVideoCaptureQuality::LowQuality;
Définition d'un paramètre de capture qualité personnalisé
En définissant la qualité sur TVideoCaptureQuality.CaptureSettings
, vous pouvez définir une résolution des données de capture personnalisée :
- Utilisez la propriété AvailableCaptureSettings pour voir le tableau contenant des configurations prises en charge différentes.
- Vous pouvez utiliser CaptureSettingPriority pour définir le critère de tri du tableau du AvailableCaptureSettings afin de donner la priorité à
Resolution
ou àFrameRate
lors du tri du tableau. Pour de plus amples informations, voir TVideoCaptureSettingPriority.
- Utilisez la propriété CaptureSetting pour définir la résolution des données de capture à partir des résolutions disponibles.
Pour définir les meilleurs paramètres de capture disponibles en donnant la priorité à la fréquence d'images, vous pourriez par exemple utiliser le code suivant :
procedure TForm1.SetMaxFrameRateClick(Sender: TObject);
var
LSettings: TArray<TVideoCaptureSetting>;
begin
VideoCaptureDevice1.CaptureSettingPriority := TVideoCaptureSettingPriority.FrameRate;
LSettings := VideoCaptureDevice1.AvailableCaptureSettings;
VideoCaptureDevice1.CaptureSetting := LSettings[0];
end;
void __fastcall TForm1::SetMaxFrameRateClick(TObject *Sender)
{
DynamicArray<TVideoCaptureSetting> LSettings;
VideoCaptureDevice1->CaptureSettingPriority = TVideoCaptureSettingPriority::FrameRate;
LSettings = VideoCaptureDevice1->AvailableCaptureSettings;
VideoCaptureDevice1->CaptureSetting = LSettings[0];
}
- Remarque : Lorsque vous définissez un CaptureSetting spécifique, la propriété Quality est automatiquement définie sur
TVideoCaptureQuality.CaptureSettings
.