I am trying to convert bitmap into icon. But there is some error as the resultant file is just blank.
private void btnCnvrtSave_Click(object sender, EventArgs e)
Also, this SO question links to how to convert an image to an icon, which may lead you in the right direction.
Notice, however, that the code as written needs to be modified to avoid a handle leak. But the solution is also linked in that question.
Please, use DestroyIcon after GetHicon, to prevent memory leak
[DllImport("user32.dll", CharSet = CharSet.Auto)]
extern static bool DestroyIcon(IntPtr handle);
MSDN : https://msdn.microsoft.com/en-us/library/system.drawing.bitmap.gethicon%28v=vs.110%29.aspx
The only problem with this code is that it supports bitmap images upto 128x128.
It yields a blank ico file if the size of bitmap is greater.
This article describes how to convert a bitmap to an icon.
http://www.go4expert.com/forums/showthread.php?t=19250
It looks very similiar to your one:
using (Cbitmap = new Bitmap(sourceImage.Text))
{
Cbitmap.MakeTransparent(Color.White);
System.IntPtr icH = Cbitmap.GetHicon();
Icon ico = Icon.FromHandle(icH);
}
using (System.IO.FileStream f = new System.IO.FileStream(destinationFldr.Text + "\\image.ico", System.IO.FileMode.OpenOrCreate))
{
ico.Save(f);
}
Try it out.
EDITED: Added the using statements.