1

サイズが 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());
}
4

2 に答える 2

4

WPF は、画像を表示する前に画像の dpi を確認します。幅 144 ピクセルの画像を 96 dpi で保存した場合。その後、ほとんどのコンピューターでは、WPF は幅 144 ピクセルで表示します (ほとんどのコンピューターは 96 dpi の画面解像度に設定されているため)。

画像が異なる dpi で保存されている場合、WPF は、画面解像度に基づいて「実際の」サイズであると判断したサイズで画像を表示します。WPF は、画像の dpi を考慮して、意図した「インチ」サイズで画像を表示しようとします。

于 2011-04-07T11:45:59.320 に答える
0

Paint.netで画像を開いてから、画像 | 開くことができます。サイズ変更... ダイアログ。そこに DPI が表示され、必要に応じて調整できます。

于 2011-04-07T12:05:17.840 に答える