Я пытаюсь отобразить представление «LargeIcon» в элементе управления listview, однако указанные мной изображения размыты. Вот что у меня есть на данный момент: альтернативный текст http://img220.imageshack.us/img220/1005/blurryiconsql3.jpg
Файлы .png имеют размер 48x48, и это то, что я установил для отображения в свойствах ImageList. Я заметил одну вещь (которая, вероятно, является причиной), но не знаю, как это изменить. Внутри «редактора коллекции изображений», где вы выбираете, какие изображения вы хотите использовать для элемента управления ImageList, похоже, что он устанавливает неправильный размер для каждого изображения. альтернативный текст http://img83.imageshack.us/img83/5218/imagepropertiesmf9.jpg
Как вы можете видеть, "PhysicalDimension" и "Size" установлены на 16x16 и не могут быть изменены. У кого-нибудь есть какие-либо идеи? Большое спасибо!





Не забудьте также установить ImageList.ImageSize на 48 x 48.
Повторно добавьте изображения после настройки этого поля. Если я помню, изображения сохраняются в resx.
Я не уверен, что это проблема в данном конкретном случае, но поддержка формата PNG со стороны Microsoft в целом оставляет желать лучшего. Попробуйте добавить изображения в формате .bmp, и они должны отображаться нормально.
Формат растрового изображения не поддерживает прозрачность
При добавлении размера значка в формате .PNG редактор стремится выбрать размер первой записи в этом файле, поэтому он выбирает запись 16x16 и растягивает ее. Вот почему вы видите там 16x16. Как и предполагалось, поддержка PNG оставляет желать лучшего, я часто перехожу на другой формат, чтобы избежать этого.
Вы можете открыть файл в Paint.Net, если вам нужен бесплатный редактор или что-то более полнофункциональное, например Photoshop или Fireworks, и извлечь нужный размер.
PNG не поддерживает (насколько я знаю и мог найти в Интернете) более одного размера изображения для каждого файла. Итак, этот ответ неверен (пожалуйста, не стесняйтесь доказать, что я ошибаюсь, и я удалю свой -1 голос)
Я думаю, вы думаете об ICO ... :-(
Чтобы уточнить, значки, используемые в Vista и Up, представляют собой PNG, сжатые в контейнере ICO, редактор выбирает неправильное изображение, хранящееся внутри ICO, которое является сжатым изображением PNG (выбрано, потому что оно поддерживает сжатие без потерь и альфа-канал). Итак, да, вы добавляете ICO-файл, но вы смотрите на него в формате PNG. И из-за сжатия не все распознает правильно ... поскольку в этом случае используется неправильный (по умолчанию: минимальный-> 16x16) размер, что приводит к растянутому / размытому изображению.
Обязательно установите размер ImageList на 48x48 пикселей. ПЕРЕД вы добавляете изображения.
Если ImageList установлен на 32x32 и вы добавляете изображение 48x48, размер значка изменяется до 32x32. Когда вы впоследствии измените ImageList на 48x48, размер изображения снова изменится, что приведет к потере качества и размытию.
Кроме того, Paint.NET (или Photoshop) не может открывать файлы .ico.
Visual Studio / .NET может нормально обрабатывать 32-битные изображения PNG, хотя встроенный редактор изображений в VS немного тусклый.
Это неверно. Paint.NET безупречно работает с .ico (открыть и сохранить), используя простой плагин: форумы.getpaint.net/index.php?/topic/…
Также проверьте настройку ColorDepth в вашем ImageList. У меня была аналогичная проблема с элементом управления TreeView, но после прочтения предыдущего сообщения о размере я нашел этот параметр, немного поигрался с ним и обнаружил, что он сильно влияет на способ рендеринга изображений из ImageList. Чем выше глубина, тем лучше качество.
У меня они оба установлены в средстве конструктора, а затем вручную установлены в коде: this.m_LargeImageList.ImageSize = new System.Drawing.Size (48, 48); И все равно никакой разницы :(