In a form I have an ImageList
named MainLogoImageList
containing a 100x100 pixel 32-bit colordepth image. That is my app logo.
I am too lazy to set up an icon editor and edit an icon of that logo, or convert the image to an .ICO file. (Ergh, well, I am not allowed to install custom utilities.)
To set my forms' icon, I use
Icon 开发者_StackOverflow= IconFromImage(MainLogoImageList.Images(0))
in the OnLoad
event handler to set the window icon.
In my about box, i have a PictureBox
with no image. In its OnLoad
event, I use
LogoPictureBox.Image = MyMainForm.MainLogoImageList.Images(0)
Icon = IconFromImage(MyMainForm.MainLogoImageList.Images(0))
to set the About box's icon and content.
So far, so good, the icon looks pretty good for a being created from a 100x100 pixel bitmap.
Is there an easy "no utility required" :-) way to get the icon that is returned my IconFromImage
saved into an .ICO file so that it will keep the color depth when loaded as the app icon? I want to use exactly the icon that IconFromImage
creates.
Saving it using
Dim S As New FileStream("MyAppIcon.ico", FileMode.Append, FileAccess.Write, FileShare.Write)
Icon.Save(S)
S.Close()
in the main form's OnLoad
event handler and loading that .ICO file as the app icon in VS's project properties dialog yields and icon that is obviously converted to 16 colors, and looks awful.
This is VB 10 Express.
Followed the wise advide to take this home, edit and convert it there.
Gimp@home at work.
Worked fine, looks great.
A codeless solution is better than no solution at all :-)
精彩评论