Hi this is my little bit of code I made to convert a 16 color bitmap to a 16 color icon with your selected transparent color. Anyway hope it maybe of some use to someone.
Comments suggestions welcome.
vbnet Code:
Private Sub BitmapToIcon16(ByVal BitmapFile As String, ByVal IconFile As String, ByVal TransColor As Color) 'This little sniplet of code will convert a 16 color bitmap to a icon file. 'Check that bitmap file is here. If Not System.IO.File.Exists(BitmapFile) Then MessageBox.Show("Bitmap File Not Found", "File Not Found", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Else 'Load bitmap Dim bmp As Bitmap = Bitmap.FromFile(BitmapFile) 'Set trans color. bmp.MakeTransparent(TransColor) 'Convert bitmap to icon from bitmap handle Dim ico As Icon = Icon.FromHandle(bmp.GetHicon()) 'Create the file that we use for the icon. Dim sw As System.IO.StreamWriter = System.IO.File.CreateText(IconFile) 'Save icon data to filename. ico.Save(sw.BaseStream) 'Close file sw.Close() 'Clear up ico.Dispose() bmp.Dispose() sw.Dispose() End If End Sub
Example
vbnet Code:
Private Sub cmdDoIt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDoIt.Click 'Make a 32x32 16 color icon from a 16 color bitmap with seleced tranparent color. BitmapToIcon16("C:\out\rocket.bmp", "C:\out\rocket.ico", Color.Magenta) End Sub




Reply With Quote