2016-02-26 1 views
1

WPF расширяет мои изображения, и я пытаюсь понять, почему. От this answer, я знаю, что WPF автоматически изменит размер изображений, чьи настройки метаданных DPI отличаются от настроек DPI монитора. Тем не менее, я подтвердил, что у моих изображений нет настроек DPI метаданных. Почему же WPF меняет размер моих изображений?Почему WPF изменяет размер изображений без установки DPI метаданных, когда Stretch = «None»?

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:WpfApplication1" 
     mc:Ignorable="d" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Image Source="Untitled-1.png" Stretch="None" /> 
    </Grid> 
</Window> 

ответ

0

Я не могу найти это документально в любом месте, но после некоторых экспериментов, кажется, ясно, что, когда изображение не хватает метаданных DPI, WPF предполагает, что изображение состоит в 96 DPI. Таким образом, хорошее резюме поведения WPF:

WPF автоматически масштабирует изображения по соотношению DPI/Image DPI монитора. Он будет считывать метаданные изображения для определения DPI изображения, и если метаданные не указывают DPI, WPF будет использовать 96 в качестве DPI изображения.

Смежные вопросы