开发者

Convertig an image to an .ICO file without loosing color depth (and without installing additional utilities)?

开发者 https://www.devze.com 2023-04-02 06:07 出处:网络
In a form I have an ImageList named MainLogoImageList containing a 100x100 pixel 32-bit colordepth image. That is my app logo.

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 :-)

0

精彩评论

暂无评论...
验证码 换一张
取 消