2

寸法が 500*20 の画像でこの奇妙な問題に直面しています。画像は幅 500 ではレンダリングされず、幅 50 でレンダリングされます。これら 2 つのアプローチを試してみましたが、うまくいきませんでした。

<Image Name="ImgSubTest" Height="20" Width="500" Canvas.Top="00" Canvas.Left="22">
    <Image.Source>
        <BitmapImage DecodePixelWidth="500"  
                     UriSource="/Path;component/Images/LightGreen.png" />
    </Image.Source>
</Image>

&

<Image Name="ImgSubTest" Height="20" Width="500" Canvas.Top="00" Canvas.Left="22"
       HorizontalAlignment="Stretch"
       Source="/Path;component/Images/LightGreen.png" />

私のプロジェクトの他のすべての画像は正常にレンダリングされます。ここで何かが欠けていることは知っていますが、何がわからないのですか。

4

1 に答える 1

0

画像の DPI 設定を確認しましたか? WPF はデフォルトですべてを 96DPI でレンダリングします。PNG 自体が 96DPI でない場合、WPF は DPI 設定に応じてそれを大きくまたは小さくレンダリングします。

PNG と DPI に関する Hanselman の記事を参照してください: http://www.hanselman.com/blog/BeAwareOfDPIWithImagePNGsInWPFImagesScaleWe​​irdOrAreBlurry.aspx

于 2012-08-27T05:49:53.127 に答える