代码之家  ›  专栏  ›  技术社区  ›  Pat

背景图像将不按原始大小显示

  •  1
  • Pat  · 技术社区  · 15 年前

    使用下面的代码,我无法使背景图像以其原始大小显示(它总是稍大一点)。我试着改变 Stretch

    <Canvas Width="500" Height="500">
        <Canvas.Background>
            <ImageBrush 
                ImageSource="{Binding ElementName=w_window, Path=BackgroundImagePath}" 
                Stretch="None"
                AlignmentX="Left"
                AlignmentY="Top"
                />
        </Canvas.Background>
    </Canvas>
    

    在下图中,您可以在左侧看到我的应用程序,在右侧看到照片查看器(设置为原始大小)。 Comparison of size as rendered by my application (left) and a photo viewer (right)

    有什么建议吗?(顺便说一下,设置 ClipToBounds="True" 不起作用。)

    Image 是唯一的元素,具有相同的大小调整问题。不仅仅是我的机器有这个问题(即应用程序在其他机器上有这个问题)。

    <Window x:Class="DiagramDesigner.Window2"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="Window2" Height="300" Width="1000">
        <Image 
            Source="C:\Users\patk\Downloads\Bottom_wnums.jpg"
            Stretch="None"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            />
    </Window>
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   Zach Johnson    15 年前

    我以前在图片上遇到过这个问题。不过,当时我使用的是PNG文件,而不是JPG,但我认为问题可能与此有关。 如果您确实无法更改/修复图像以满足此要求,则可能需要检查 this post from Scott Hanselman