Вопрос

Я пытаюсь отобразить представление "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 и не поддаются манипуляциям.У кого-нибудь есть какие-нибудь идеи?Большое спасибо!

Это было полезно?

Решение

При добавлении размера значка в формате .PNG редактор обычно выбирает первый размер записи в этом файле, поэтому он выбирает запись размером 16x16 и растягивает ее.Вот почему вы видите там размер 16x16 в свойствах.Как и предполагалось, поддержка PNG оставляет желать лучшего, и я часто ловлю себя на том, что переключаюсь на другой формат, чтобы избежать этого.

Вы можете открыть файл в Paint.Net если вам нужен бесплатный редактор или что-то более полнофункциональное, например Photoshop или Fireworks, извлеките нужный вам размер.

Другие советы

Не забудьте также установить ImageList.ImageSize равным 48 x 48.

Я не уверен, что это проблема в данном конкретном случае, но поддержка Microsoft формата PNG, как правило, оставляет желать лучшего.Попробуйте добавить изображения в формате .bmp, и они должны отображаться нормально.

Обязательно установите размер списка изображений равным 48x48 пикселей ДО ТОГО, КАК вы добавляете изображения.

Если для списка изображений задано значение 32x32, а вы добавляете изображение 48x48, размер значка будет изменен до 32x32.Когда вы впоследствии меняете список изображений на 48x48, размер изображения просто снова изменяется, что приводит к потере качества и размытости.

Кроме того, Paint.NET (или Photoshop) не может открыть файлы .ico.

Visual Studio / .NET прекрасно справляется с 32-разрядными изображениями в формате PNG, однако встроенному редактору изображений в VS немного не хватает блеска.

Проверьте также настройку глубины цвета в вашем списке изображений.У меня была похожая проблема с элементом управления TreeView, но после прочтения предыдущей публикации о размере я нашел этот параметр, немного поиграл с ним и обнаружил, что он сильно влияет на способ отображения изображений из ImageList.Чем выше глубина, тем лучше качество.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top