如何使图像不拉伸?

mpe*_*pen 6 wpf xaml

[imgur删除图片]

左侧的图标是此代码的结果:

    <Button Height="23" HorizontalAlignment="Left" Margin="12,276,0,0" Name="button1" VerticalAlignment="Top" Width="75">
        <StackPanel Orientation="Horizontal">
            <Image Source="Resources/add.png" Stretch="None" />
            <TextBlock Margin="5,0,0,0" Text="Add" />
        </StackPanel>
    </Button>
Run Code Online (Sandbox Code Playgroud)

右边的那个是使用Photoshop放在它旁边的原始图像.看起来通过代码添加的那个被像素拉伸导致一些失真.我该如何预防呢?

H.B*_*.B. 8

Stretch="None"应该做到这一点.如果图像的显示方式存在差异,可能是由于像素在"边缘"结束.

您可以尝试设置以避免这种情况.SnapsToDevicePixels="True"


小智 5

尝试使用RenderOptions.BitmapScalingMode="NearestNeighbor".

您可能想阅读这些:


mpe*_*pen 0

这为我解决了这个问题:

在您的根元素(即您的主窗口)上添加此属性:UseLayoutRounding="True"

信用