Canon EDSDK установить точку фокусировки

Я пытаюсь изменить точку фокусировки на Камере с click в кадре просмотра в реальном времени с помощью EDSDK lib. Я не могу понять, как это сделать, я имею в виду, не знаю, какое свойство я должен установить, чтобы изменить точку фокусировки. У вас есть идеи или образцы? Кстати, я уже могу изменить некоторые другие значения, такие как ISO, AV, TV или цветовую температуру.

Заранее спасибо!


person Vinny    schedule 03.06.2016    source источник


Ответы (2)


Установите EdsPoint в kEdsPropID_Evf_ZoomPosition перед запуском команды фокуса. Название «Масштаб» немного сбивает с толку, но это свойство:

Получает/задает положение границы фокуса и масштабирования для просмотра в реальном времени. Граница фокуса и масштабирования устанавливается с помощью EdsCameraRef, но получается с использованием данных изображения в режиме реального времени, другими словами, с помощью EdsEvfImageRef.

person gdh    schedule 03.07.2016
comment
Спасибо @gdh, ты сделал мой день! - person Vinny; 18.07.2016

вы можете установить точку масштабирования, добавив этот метод в класс камеры.

public void SetZoomPositionSetting(PropertyID propID, Point value, int inParam = 0)
{
    CheckState();

    int size = Marshal.SizeOf(typeof(Point));
    ErrorCode err = CanonSDK.EdsSetPropertyData(CamRef, propID, inParam, size, value);
}

и вызовите этот метод следующим образом. MainCamera.SetZoomPositionSetting(PropertyID.Evf_ZoomPosition, p); p здесь — экземпляр EOSDigital.SDK.Point.

и не забудьте изменить настройку камеры на режим AF Live (не быстрый режим).

person smoothumut    schedule 15.02.2018