/// <summary> /// We have to get handle of stream to perform calls to API of <c>astra.DLL</c>. /// And we can do it using Reflection (to access protected property <c>Handle</c> of <c>DataStream</c> class). /// </summary> /// <param name="stream">Stream object. Can be <c>null</c>.</param> /// <returns>Astra SDK handle of stream object. Can be <c>IntPtr.Zero</c>.</returns> private static IntPtr GetHandle(this Astra.ImageStream stream) { if (stream == null) { return(IntPtr.Zero); } var streamHandleObj = handleOfImageStreamPropertyInfo.GetValue(stream); if (streamHandleObj == null || !(streamHandleObj is IntPtr)) { return(IntPtr.Zero); } return((IntPtr)streamHandleObj); }
private static string FormatFieldOfView(Astra.ImageStream stream) => $"{ToDegrees(stream.HorizontalFieldOfView)}° x {ToDegrees(stream.VerticalFieldOfView)}°";