Convertir System.Drawing.Bitmap en stdole.StdPicture

J’ai actuellement un System.Drawing.Bitmap et j’ai besoin de le convertir en un stdole.StdPicture.
Actuellement, j’utilise:

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

mais je reçois un avertissement du compilateur:

Avertissement “Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture (System.Drawing.Image)” est obsolète: “” Les classes Microsoft.VisualBasic.Compatibility. * Sont obsolètes et sockets en charge dans les processus 32 bits uniquement. Http: // go. microsoft.com/fwlink/?linkid=160862

Alors quoi utiliser à la place? Je n’ai pas encore trouvé de solution …

extrait de NetOffice http://netoffice.codeplex.com Exemple de complément Office

 public class IconConverter : System.Windows.Forms.AxHost { private IconConverter(): base(ssortingng.Empty) { } public static stdole.IPictureDisp GetIPictureDispFromImage(System.Drawing.Image image) { return (stdole.IPictureDisp)GetIPictureDispFromPicture(image); } } 

Si vous effectuez une recherche sur Google pour [convertir une image .net en une image ole], vous constaterez qu’il y a beaucoup de discussions sur le fait d’aller dans le sens inverse (c.-à-d. La conversion d’une image ole en image), ainsi que de nombreux conseils effet, “n’essayez pas d’utiliser des images ole dans .NET”. Je suis d’accord. J’ai emprunté ce chemin il y a quelques années et j’ai décidé que je n’avais pas vraiment besoin de l’image OLE.

Je vous recommande fortement de réévaluer votre besoin d’objects de type OLE. Si vous enregistrez des images dans une firebase database, stockez-les en tant que BLOB plutôt qu’en tant qu’objects d’image. Si vous devez absolument utiliser des objects image OLE, alors bonne chance. Ça va être très frustrant.