#wpf #image #c#-4.0
#wpf #изображение #c #-4.0
Вопрос:
Если я открою изображение, используя этот код, я получу правильную ширину и высоту:
Bitmap bitmap = new Bitmap(@"C:UsersJavier EscribanoDesktopsample.png");
var imageHeight = bitmap.Height; //1270
var imageWidth = bitmap.Width; //1650
но если я использую этот код для отображения изображения в элементе управления WPF, размер изображения автоматически изменяется. Я хочу сохранить исходные размеры:
ImageSource img = (ImageSource)new ImageSourceConverter().ConvertFromString(
@"C:UsersJavier EscribanoDesktopsample.png");
this.image.Source = img;
this.image.Width = img.Height; //1057
this.image.Height = img.Width; // 817
Комментарии:
1. Используйте
img.PixelWidth
иimg.PixelHeight
.
Ответ №1:
Это, скорее всего, вызвано несоответствием ppi (пикселей на дюйм) изображения png и dpi (точек на дюйм) WPF. У Скотта Хансельмана есть хороший пост об этом здесь.