В форме у меня есть ImageList
с именем MainLogoImageList
, содержащий 32-битное изображение с глубиной цвета 100x100 пикселей. Это логотип моего приложения.
Мне лень настроить редактор значков и отредактировать значок этого логотипа или преобразовать изображение в файл .ICO. (Эх, ну, мне не разрешено устанавливать пользовательские утилиты.)
Чтобы установить значок моих форм, я использую
Icon = IconFromImage(MainLogoImageList.Images(0))
в обработчике событий OnLoad
для установки значка окна.
В моем окне about, у меня есть PictureBox
без изображения. В событии OnLoad
я использую
LogoPictureBox.Image = MyMainForm.MainLogoImageList.Images(0)
Icon = IconFromImage(MyMainForm.MainLogoImageList.Images(0))
для установки значка и содержимого окна About.
Пока все хорошо, значок выглядит довольно неплохо для существа, созданного из растрового изображения размером 100x100 пикселей.
Существует ли простой способ "не требуется утилита" :-), чтобы получить значок, который был возвращен, мой IconFromImage
сохранен в файле .ICO, чтобы он сохранял глубину цвета при загрузке в качестве значка приложения. ? Я хочу использовать именно тот значок, который создает IconFromImage
.
Сохранение с помощью
Dim S As New FileStream("MyAppIcon.ico", FileMode.Append, FileAccess.Write, FileShare.Write)
Icon.Save(S)
S.Close()
в обработчике событий OnLoad
основной формы и загрузка этого .ICO-файла в качестве значка приложения в диалоговом окне свойств проекта VS дает значок и значок, который явно преобразуется в 16 цветов и выглядит ужасно.
Это VB 10 Express.