wpf - WPF图像缩放

标签 wpf image zooming

我有一个带有图像的Viewbox。这非常好,因为Viewbox会缩放图像以适合窗口。但是,我需要能够将图像缩放到完整尺寸并显示滚动条,并且我很难确定如何执行此操作。

这就是我现在所拥有的。任何人都可以对我如何修改它以实现上述功能提出一些建议吗?

<Viewbox x:Name="viewbox">
    <StackPanel>
        <Image x:Name="image" Source="ranch.jpg" />
    </StackPanel>
</Viewbox>

编辑:
只是为了澄清。我需要两种查看图像的方式,适合窗口的 View 框样式以及切换到显示滚动条且不调整图像大小的“实际尺寸” View 的功能。

最佳答案

您不需要在这里使用Viewbox,只需将Image放在ScrollViewer中并操纵VerticalScrollBarVisibilityHorizontalScrollBarVisibility属性,就可以使Image缩放或不缩放:

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <CheckBox x:Name="chkActualSize" Grid.Row="0" Content="Actual Size"/>
    <ScrollViewer Grid.Row="1">
        <ScrollViewer.Style>
            <Style TargetType="{x:Type ScrollViewer}">
                <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/>
                <Setter Property="VerticalScrollBarVisibility" Value="Disabled"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsChecked, ElementName=chkActualSize}" Value="True">
                        <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/>
                        <Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ScrollViewer.Style>
        <Image Source="http://sipi.usc.edu/database/misc/4.1.01.tiff" VerticalAlignment="Center" HorizontalAlignment="Center"/>
    </ScrollViewer>
</Grid>

关于wpf - WPF图像缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/639477/

相关文章:

python - 使用Python OpenCV在高度图到法线图上的问题

c# - 使用C#WPF播放资源文件中的声音

android - 从图库中选择图像时出现问题

WPF 控件默认大小

Java 读取图像 - java.lang.OutOfMemoryError

android - 如何使用矩阵控制 IMAGEVIEW 的拖动

android - 如何在 Android 的 AChartEngine 中增加 X 或 Y 轴标签大小并启用缩放

css - 网页浏览器页面缩小时元素不 float (Ctrl -)

c# - 当文本框不适合时如何减小字体大小?

c# - 将多路径 SVG 转换为几何图形再转换为 WPF