I am trying to save a bitmap as an ico file, but the result file is a PNG image with the extension changed to "ico".
Why does the ImageFormat class save my bitmap in PNG format if I choose the icon format? and then how to save the ico file?
PS: I need to keep ICO with transparency
This is how I call proc:
Save_Icon(Resize_Image(Bitmap.FromFile(PictureBox_Regedit.Tag), 24, 24), "Regedit.ico")
And this is res code
Private Sub Save_Icon(ByVal Source As Bitmap, ByVal Filename As String) Try If Not Directory.Exists(AppDir) Then Directory.CreateDirectory(AppDir) If Not Directory.Exists(AppIcons) Then Directory.CreateDirectory(AppIcons) Source.MakeTransparent() Source.Save(Path.Combine(AppIcons, Filename), ImageFormat.Icon) Catch ex As Exception Throw New Exception(ex.Message) End Try End Sub Private Function Resize_Image(ByVal img As Image, ByVal Width As Int32, ByVal Height As Int32) As Bitmap Dim Bitmap_Source As New Bitmap(img) Dim Bitmap_Dest As New Bitmap(CInt(Width), CInt(Height)) Dim Graphic As Graphics = Graphics.FromImage(Bitmap_Dest) Graphic.DrawImage(Bitmap_Source, 0, 0, Bitmap_Dest.Width + 1, Bitmap_Dest.Height + 1) Return Bitmap_Dest End Function
source share