示例#1
0
 public static IWICBitmapDecoder CreateDecoderFromFileHandle(this IWICImagingFactory imagingFactory, IntPtr hFile, WICDecodeOptions metadataOptions, Guid?pguidVendor = null)
 {
     using (var pguidVendorPtr = CoTaskMemPtr.From(pguidVendor))
     {
         return(imagingFactory.CreateDecoderFromFileHandle(hFile, pguidVendorPtr, metadataOptions));
     }
 }
示例#2
0
        public static IComObject <IWICBitmapDecoder> CreateDecoderFromFileHandle(this IWICImagingFactory factory, IntPtr handle, Guid?guidVendor = null, WICDecodeOptions metadataOptions = WICDecodeOptions.WICDecodeMetadataCacheOnDemand)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            using (var guid = new ComMemory(guidVendor))
            {
                factory.CreateDecoderFromFileHandle(handle, guid.Pointer, metadataOptions, out var value).ThrowOnError();
                return(new ComObject <IWICBitmapDecoder>(value));
            }
        }