public static stdole.IPictureDisp ImageToPictureDisp(Image image) { if (image == null || !(image is Bitmap)) { return(null); } PictDescBitmap pictDescBitmap = new PictDescBitmap((Bitmap)image); object ppVoid = null; Guid iPictureDispGuid = typeof(stdole.IPictureDisp).GUID; OleCreatePictureIndirect(pictDescBitmap, ref iPictureDispGuid, true, out ppVoid); stdole.IPictureDisp picture = (stdole.IPictureDisp)ppVoid; return(picture); }
private static extern int OleCreatePictureIndirect( [In] PictDescBitmap pictdesc, ref Guid iid, bool fOwn, [MarshalAs(UnmanagedType.Interface)] out object ppVoid);