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

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

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

2 ответа

Решение

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

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

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

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 (не быстрый режим)

Другие вопросы по тегам