Я не могу понять, как создать элемент управления ImageList с PNG-файлом с альфа-каналом. Я хотел бы использовать его в качестве небольших изображений в моем элементе управления ListView.
Описание того, что я пробовал, кажется ошеломляющим, поскольку я работаю над этим часами. Я искал в Интернете и практически ничего не нашел по этому поводу.
Большинство вещей, которые я пробовал, просто вызывают отображение списка без каких-либо изображений.
Затем я попытался импортировать следующий файл в свой проект в качестве ресурса.
Несмотря на то, что я сказал, что импортирую растровое изображение, средство просмотра ресурсов поместило этот ресурс в раздел под названием PNG. Текущая версия Visual Studio кажется полностью сбитой с толку файлом PNG.
Но сейчас я даже не могу загрузить его в Visual Studio. Я получаю следующую ошибку. Эта ошибка, похоже, исходит от компилятора ресурсов.
ошибка RC2170: растровое изображение res \ Folders.png не в формате 3.00.
Я воссоздал изображение с помощью IconWorkshop — я уверен, что мое изображение в текущем формате. Возможно, слишком актуально для Visual Studio.
Кто-нибудь знает, как использовать изображения PNG / альфа-канала в ImageList / ListView?
Как и предполагал xMRi, я смог сделать это, сохранив свое изображение PNG в виде файла BMP 32-битного / альфа-канала.
Поддержка загруженного ресурса имела некоторые ограничения. Например, CBitmap::GetBitmapDimension
вернул пустой прямоугольник. А в Visual Studio отсутствует поддержка альфа-канала и высококачественных растровых изображений.
Тем не менее, если я жестко закодирую размер изображения, это сработает. Мой элемент управления ListView правильно выделяет изображение, когда элемент выбран, без выделения прозрачных областей. Так что альфа-канал был правильно распознан.