我正面临这个奇怪的问题,尺寸为500 * 20的图像。图像的宽度不是500,渲染的宽度为50.我试过这两种方法没有任何好运:
<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" />
我项目中的所有其他图片都可以正常显示。我知道我在这里遗漏了一些东西,但我无法弄清楚是什么。
答案 0 :(得分:0)
你看过图像的DPI设置了吗? WPF默认情况下以96DPI呈现所有内容,如果PNG不是96DPI本身,WPF将根据其DPI设置将其渲染为更大或更小。
参见Hanselman关于PNG和DPI的文章:http://www.hanselman.com/blog/BeAwareOfDPIWithImagePNGsInWPFImagesScaleWeirdOrAreBlurry.aspx