/// <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);
    }
Example #2
0
 private static string FormatFieldOfView(Astra.ImageStream stream)
 => $"{ToDegrees(stream.HorizontalFieldOfView)}° x {ToDegrees(stream.VerticalFieldOfView)}°";