我有一个大小为 144 像素的图像(我使用 irfanView 和 Photoshop 测量了图像大小)。
但是,当使用以下 xaml 在窗口中打开时,图像的宽度(由 ActualWidth 参数和相同的图形软件测量)为 192 像素。
事实证明,141 点 = 192 像素(如 1pt=1.33px)。
所以看起来.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());
}