We need to convert the Image format to the Icon in the memory.
Based on experience, we usually can do this.
Image image = xxxx; // assume there is already an Image object.
System. IO. MemoryStream mStream = new System. IO. MemoryStream (); // create a memory stream
Image. Save (mStream, System. Drawing. Imaging. ImageFormat. Icon );
Icon icon = Icon. FromHandle (new Bitmap (mStream). GetHicon ());
MStream. Close ();
However, an error is reported during image. Save. An empty object is referenced.
So I changed the saved format to Bitmap, Jpeg, and so on, so there is no error (it means it cannot be saved in the memory as the Icon format directly ).
However, the obtained Icon will remove the transparent information in the original image.
We can find that transparent information can be retained when the Gif format is saved,
However, it is worth noting that after the memory stream is successfully obtained, the Icon cannot be directly constructed and Bitmap must be used for conversion. Otherwise, an error will be reported.
Icon icon = new Icon (mStream); // This method will return an error
From vow love (Meng qingyu)