0

我希望在我的 WPF 应用程序中显示 HD 尺寸 1920X1080 图像。当我在图像控件中设置图像源时,只显示部分图像,图像控件的大小。

我不希望将高清图像自动适应图像控件。假设图像控件的大小为 640 X 480,则应显示 640X480 的高清图像。但是当我平移图像时,应该显示下一个 640 X 480 的图像。我已经实现了 TransformGroup TransformGroup group = new TransformGroup(); ScaleTransform xform = new ScaleTransform(); group.Children.Add(xform); TranslateTransform tt = 新的 TranslateTransform(); group.Children.Add(tt);

但我的问题是最初没有加载整个图像。

4

2 回答 2

1

如果您想要的只是滚动图像的能力......然后使用:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <ScrollViewer HorizontalScrollBarVisibility="Visible">
            <Image Stretch="None" Source="c:\mytestimage.png" />
        </ScrollViewer>
    </Grid>
</Window>

如果您想更复杂/更高效,请参阅这些方便的帖子:

于 2012-09-05T09:38:27.783 回答
0

有另一种显示图像的方法。在图像上设置 max-es,因此它不会在视觉上加载大于所需的内容。

<Image Source="{Binding Source}"
       Stretch="UniformToFill"
       MaxHeight="200"
       MaxWidth="400"/>

下图显示了按原样加载的两张图片,一张小图,一张大图。左侧显示大的爆炸越过边界。右侧显示大尺寸的适当收缩。

在此处输入图像描述

为了防止较小的图像大(如右侧所示),请设置StretchDirection="DownOnly"以防止较小的图像扩大。

于 2020-04-08T17:23:35.600 回答