【问题标题】:How can I convert System.Drawing.Image to System.Drawing.Icon in c#?如何在 c# 中将 System.Drawing.Image 转换为 System.Drawing.Icon?
【发布时间】:2013-09-19 03:25:49
【问题描述】:

我有这个代码

var image = Image.FromFile(sPngFile, true);

我的目标是打开一个 png 文件的处理程序,在我写的时候我得到一个图像,我想将它实时转换成一个图标

我知道这样我可以从 png 中创建 ico 文件;有趣,但我想这不是我需要的

var image = Image.FromFile(sPngFile, true);
ImageButtonGraphic.Save(sIcoFile, System.Drawing.Imaging.ImageFormat.Icon);

建议?提前谢谢你

【问题讨论】:

  • 之前有人问过这个问题:stackoverflow.com/questions/8381455/…
  • IIRC ImageButtonGraphic.Save(sIcoFile, System.Drawing.Imaging.ImageFormat.Icon); 这行不通你试过了吗?我认为 GDI 不支持使用格式图标保存
  • @SriramSakthivel 成功了。
  • 试试这个image.Save("123.ico", ImageFormat.Icon); Icon ico = new Icon("123.ico");这将导致异常。实际上它将图片存储为PNG 格式,因此它不是icon 并导致异常

标签: c# .net image icons system.drawing


【解决方案1】:

你可以试试这个,但我不认为它会返回漂亮的图标。

var bmp = Bitmap.FromFile(fname);
var thumb = (Bitmap)bmp.GetThumbnailImage(64, 64, null, IntPtr.Zero);
thumb.MakeTransparent();
var icon = Icon.FromHandle(thumb.GetHicon());

【讨论】:

    猜你喜欢
    • 2012-02-14
    • 2019-05-15
    • 1970-01-01
    • 2010-11-10
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多