powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Загрузка PNG из ресурсов - неправильные размеры рисунка
2 сообщений из 2, страница 1 из 1
Загрузка PNG из ресурсов - неправильные размеры рисунка
    #36854367
JohnSparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток

В ресурсах приложения сть png-файл размером 16х16 32bpp и вот такой код его загрузки:
Код: plaintext
1.
2.
3.
4.
5.
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri(@"pack://application:,,,/WpfApplication3;component/Resources/Images/16x16_incorrect.png", UriKind.Absolute);
bi.EndInit();

ImageSource s = bi;

Полученный ImageSource используется для отображения рисунка (отображающий компонент - DocumentPanel - имеет свойство CaptionImage типа ImageSource). Проблема в том, что у полученного ImageSource свойства Width и Height равны 21.597, из-за чего на форме он отображается размером 21х21, т.е. выполняется stretch из 16х16. В итоге рисунок выглядит размытым.

Есть и другой рисунок (входит как ресурс в пример приложения с данным отображающим компонентом). Вот этот второй рисунок тоже PNG 16x16 32bpp, но отображается корректно, будучи загруженным тем же самым способом. При этом у его ImageSource Width=Height=16.002. Вопрос: почему так получается и что можно сделать, чтобы мой рисунок тоже загружался размером 16х16?

Сам отображающий компонент ни при чем, разницу между рисунками ("правильным" и "неправильным") видно уже на этапе загрузки, который с компонентом DocumentPanel никак не связан). Проблема в самих рисунках.

На всякий случай, вот ссылки на два рисунка png 16x16 32bpp:
- "правильный" (после загрузки ImageSource.Width = Height = 16.002)
- "неправильный" (после загрузки ImageSource.Width = Height = 21.597)

А вот так выглядят оба при отображении:
...
Рейтинг: 0 / 0
Загрузка PNG из ресурсов - неправильные размеры рисунка
    #36854418
JohnSparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже дали ответ в другом месте. Разрешение должно быть 96 dpi - такое оно в WPF по умолчанию. У меня было 71 dpi.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Загрузка PNG из ресурсов - неправильные размеры рисунка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]