У меня есть изображение размером 144 пикселя (я измерил размер изображения, используя irfanView и Photoshop).
Однако при открытии в окне с использованием следующего xaml ширина изображения, измеренная как параметром ActualWidth, так и одним и тем же графическим программным обеспечением, составляет 192 пикселя.
Получается, что 141 пункт = 192 пикселя (как 1pt = 1,33 пикселя).
Похоже, что .Net открывает изображение, измеряет его размер в пикселях и рисует изображение того же размера, но в точках.
Вот код:
<Window x:Class="test_image_resizing.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" WindowState="Maximized" Loaded="Window_Loaded">
<Grid>
<Image
x:Name="test"
VerticalAlignment="Top"
HorizontalAlignment="Center"
Stretch="None"
Source="/test%20image%20resizing;component/Resources/Test.png" />
</Grid>
</Window>
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show("test=" + test.ActualWidth.ToString());
}