将System.Drawing.Bitmap转换为stdole.StdPicture

Sim*_*ker 6 c# compatibility interop ole

我当前有一个System.Drawing.Bitmap,我需要将其转换为stdole.StdPicture.
目前我正在使用:

var pic = (stdole.StdPicture)Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture
                   (MyDLL.Properties.Resources.Img); // this is a System.Drawing.Bitmap
Run Code Online (Sandbox Code Playgroud)

但我收到编译器警告:

警告'Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture(System.Drawing.Image)'已过时:'"Microsoft.VisualBasic.Compatibility.*类已过时,仅在32位进程中受支持.http:// go. microsoft.com/fwlink/?linkid=160862

那么使用什么呢?我找不到另一个解决方案......

小智 7

取自NetOffice http://netoffice.codeplex.com Office Addin示例

public class IconConverter : System.Windows.Forms.AxHost
{
   private IconConverter(): base(string.Empty)
   {
   }

   public static stdole.IPictureDisp GetIPictureDispFromImage(System.Drawing.Image image)
   {

      return (stdole.IPictureDisp)GetIPictureDispFromPicture(image);
   }
} 
Run Code Online (Sandbox Code Playgroud)