예제 #1
0
        public virtual int CreateInstance(
            out IWICBitmapEncoder ppIBitmapEncoder
            )
        {
            var fp = GetFunctionPointer(23);

            if (m_CreateInstanceFunc == null)
            {
                m_CreateInstanceFunc = (CreateInstanceFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateInstanceFunc));
            }
            ppIBitmapEncoder = new IWICBitmapEncoder();
            return(m_CreateInstanceFunc(m_ptr, out ppIBitmapEncoder.PtrForNew));
        }
예제 #2
0
        public virtual int WriteThumbnail(
            ID2D1Image pImage,
            IWICBitmapEncoder pEncoder,
            ref WICImageParameters pImageParameters
            )
        {
            var fp = GetFunctionPointer(5);

            if (m_WriteThumbnailFunc == null)
            {
                m_WriteThumbnailFunc = (WriteThumbnailFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(WriteThumbnailFunc));
            }

            return(m_WriteThumbnailFunc(m_ptr, pImage != null ? pImage.Ptr : IntPtr.Zero, pEncoder != null ? pEncoder.Ptr : IntPtr.Zero, ref pImageParameters));
        }
예제 #3
0
        public virtual int CreateEncoder(
            ref Guid guidContainerFormat,
            ref Guid pguidVendor,
            out IWICBitmapEncoder ppIEncoder
            )
        {
            var fp = GetFunctionPointer(8);

            if (m_CreateEncoderFunc == null)
            {
                m_CreateEncoderFunc = (CreateEncoderFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateEncoderFunc));
            }
            ppIEncoder = new IWICBitmapEncoder();
            return(m_CreateEncoderFunc(m_ptr, ref guidContainerFormat, ref pguidVendor, out ppIEncoder.PtrForNew));
        }