C# · 12月 29, 2021

将图像转换为c#中的图标

我有项目转换图像格式文件到图标文件.转换图像颜色的图像改变后

这是我的代码

Bitmap theBitmap = new Bitmap(theImage,new Size(width,height));IntPtr Hicon = theBitmap.GetHicon();// Get an Hicon for myBitmap.Icon newIcon = Icon.FromHandle(Hicon);// Create a new icon from the handle.FileStream fs = new FileStream(@”c:\Icon\” + filename + “.ico”,FileMode.OpenOrCreate);//Write Icon to File Stream

有谁知道怎么去这个?

解决方法 Bitmap.GetHicon()非常擅长创建可以运行.NET代码的任何Windows版本上都能正常工作的图标.包括旧的Windows 98和Windows 2000.操作系统尚不支持花哨的图标.

所以你得到的只是一个只有16种颜色的图标,使用一个带有基本颜色的预烹饪调色板.这往往会产生令人失望的结果,轻轻一点.

Bitmap或Icon类没有一个可以获得更好结果的选项.一般来说,您需要使用图标编辑器来创建好的图标.其中应包括不同尺寸和颜色深度的多个图像,因此它们可以适用于任何视频适配器设置和任何操作系统版本.特别是从1600万到256或16色的颜色还原是一种非常简单的操作,有多种方式可以完成,没有一个完美.一个好的图标编辑器有你需要的工具,使这项工作足够好.