Загрузка изображения в ImageSource - неправильная ширина и высота

Моя проблема в том, что изображение загружается некорректно из ресурсов приложения. Это код:

    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;

Файл изображения" 16x16_incorrect.png "имеет размер 16x16 32bpp PNG, но после выполнения вышеуказанного кода s.Width = s.Height = 21,59729 .... У меня также есть другой файл - «16x16_correct.png», когда я загружаю его таким же образом, оба ImageSource's Width и Высота равны 16002.

У меня есть большой пакет полезных изображений PNG 16x16 32bpp, который я собираюсь использовать в пользовательском интерфейсе своих приложений. К сожалению, каждый из них загружается неправильно и выглядит размытым (или плавным), потому что система растягивает его с 16x16 до 21x21.

  • правильное изображение: Correct Image
  • неправильное изображение: Incorrect Image

Будьте любезны объяснить возможное решение этой проблемы? Если проблема в файлах исходного изображения, как я могу изменить ImageSource.Width на желаемый размер, чтобы использовать эти файлы?

14
задан Doomsknight 7 November 2016 в 09:33
поделиться