Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .ico映像不适合windows操作系统中的文件夹映像?_C#_Bitmap - Fatal编程技术网

C# .ico映像不适合windows操作系统中的文件夹映像?

C# .ico映像不适合windows操作系统中的文件夹映像?,c#,bitmap,C#,Bitmap,我编写了c#windows程序,用于将所有图像转换为.ico文件。但是.ico仅适用于favicon,不适用于文件夹图像 这是我的密码 Image theImage = Image.FromFile(textBox1.Text); Bitmap theBitmap = new Bitmap(theImage, new Size(width, height)); 第二行用于将图像转换为.ico文件 有人知道如何解决这个问题吗?请检查链接以创建多个大小的ico文件 帖子引导你去!林克和我似乎工作得

我编写了c#windows程序,用于将所有图像转换为.ico文件。但是.ico仅适用于favicon,不适用于文件夹图像

这是我的密码

Image theImage = Image.FromFile(textBox1.Text);
Bitmap theBitmap = new Bitmap(theImage, new Size(width, height));
第二行用于将图像转换为.ico文件

有人知道如何解决这个问题吗?

请检查链接以创建多个大小的
ico
文件

帖子引导你去!林克和我似乎工作得很好

我将删除指向错误的帖子,以将ico应用于文件夹

--已删除--

此代码将起作用:

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
 newIcon.Save(fs);

简而言之,您需要包含大小为16x16、32x32和48x48的图标,而GetHicon在创建32位图标时并不擅长这些图标。只要您只需要32位图标,就可以使用FreeImage创建多资源图标

有关代码示例,请参见我对相关问题的回答:

我认为您的代码用于更改文件夹图像。但我不希望这样。有人问我,为什么我的输出(.ico图像)不适合文件夹图像?很抱歉,这一点错了。我认为您必须使用多个大小的ico文件,而不是单个大小的ico文件。是的,我创建了多个大小的.ico文件。这会对文件夹图像造成任何问题吗?我几乎不这么认为。隐马尔可夫模型。。。你用我删除的方法应用了吗?要应用Windows,图像大小必须匹配。确切地50x50不可接受。请检查这篇文章,以检查正确的大小:你复制了我的代码并粘贴了这个页面。看到问这个问题的stackoverflow了吗?是的,没错,但我想帮助问这个问题的人。这段代码有一个谜团,我保存了图标,当我将其重命名为丑陋的图标时,它的外观变得更好。您可以尝试使用位图。GetHicon()获得Windows资源管理器使用的相同图标需要pinvoke、SHGetFileInfo和SHGFI_图标选项。它很好用谷歌搜索。