WPF 图像缩放

2024-03-16

我有一个视图框,里面有一个图像。这非常棒,因为 Viewbox 会缩放图像以适合窗口。但是,我需要能够将图像缩放到完整尺寸并显示滚动条,但我很难弄清楚如何做到这一点。

这就是我现在所拥有的。谁能指导我如何修改它以实现上述功能?

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

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


你不需要Viewbox在这里,通过将Image in a ScrollViewer并操纵VerticalScrollBarVisibility and HorizontalScrollBarVisibility属性,你可以使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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF 图像缩放 的相关文章

  • 比较运算符性能 <= 与 !=

    让我们首先声明代码可读性胜过微优化 我们应该将其留给编译器 这只是一个奇怪的案例 具体细节似乎与一般建议相比很有趣 因此 我在搞素数生成器函数 并提出了一种奇怪的行为 其中 人们建议效率最高 实际上效率最低 而 C private stat
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • UIScrollView setZoomScale 将应用的旋转设置回零

    我已经从事地图替换工作很长一段时间了 整个事情的工作原理是UIScrollView由一个支持CATiledLayer 为了旋转我的地图 我旋转图层本身 使用CATransform3DMakeRotation 到目前为止效果很好 但如果我打电
  • 从 xaml 获取 RowIndex

    我有一个带有 DataGridTemplateColumns 的 DataGrid 在 TemplateColumn 中 我使用工作正常的 DataTrigger 它从 DataGrid 父级检索项目计数
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • JavaFX ImageView 未更新

    因此 我尝试将图像加载并保存到 imageView 中 其中图像的位置是通过文件浏览器选择的 我已经为此工作好几天了 如果我不能解决这个问题 我就会中风 我已经尝试了我能想到的一切 预先感谢您的帮助 UPDATED 这是我的主要课程 pub
  • 将 PDF 嵌入到 WPF 应用程序中

    我正在尝试在 WPF 应用程序中嵌入 显示 PDF 到目前为止 我已经尝试过这些解决方案 但没有成功 在 a 中显示 PDFWindowsFormsHost主持一个AxAcroPdf控制 类似于显示的内容here http hugeonio
  • Java 旋转图像

    Override public void paintComponent Graphics g super paintComponent g Graphics2D g2 Graphics2D g create rotation of play
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • 如何使 WPF 应用程序在 Web 浏览器上运行

    我们有一个用 WPF 编写的现有应用程序 我们正在寻找一种迁移它的方法 以便它可以在 Web 浏览器上运行 深入研究后 我们似乎需要找到一种将代码编译为 WebAssembly 的方法 但我不确定它对于现有的完全加载的 WPF 应用程序有多
  • 如何? WPF 窗口 - 最大化,不调整大小/移动

    我正在尝试创建一个已最大化打开的 WPF 窗口 无需调整大小 移动 在系统菜单中 也不在边框中 它应该一直最大化 除非用户最小化它 我尝试将 WindowState Maximized 和 ResizeMode CanMinimize 放在
  • 如何在运行时添加到 TreeView 目录

    我有一个TreeView我想允许用户添加和删除子项目 在探索基本功能时 我使用button and a textbox添加此子项 当用户点击button a new TreeViewItem需要创建并设置为我的父项的子项TreeView与t
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • 使用 PDFBox 在 PDF 上绘制矢量图像

    我想使用 Apache PDFBox 在 PDF 上绘制矢量图像 这是我用来绘制常规图像的代码 PDPage page PDPage document getDocumentCatalog getAllPages get 1 PDPageC
  • 如何在MATLAB中显示由三个矩阵表示的图像?

    我有 3 个相同大小的 2D 矩阵 假设 200 行和 300 列 每个矩阵代表三种 基本 颜色 红色 绿色和蓝色 之一的值 矩阵的值可以在 0 到 255 之间 现在我想组合这些矩阵以将它们显示为彩色图像 200 x 300 像素 我怎样
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • Visual Studio 扩展找不到所需的程序集

    我为 Visual Studio 2013 编写了一个扩展 因为该死的组合框错误 https stackoverflow com questions 7800032 cancel combobox selection in wpf with
  • 在 Chrome 中,应用于包含图像的锚点的轮廓高度不正确

    对于我正在开发的网站 我希望当链接聚焦 悬停 活动时 链接周围会出现虚线轮廓 我希望文本和图像链接发生这种情况 我遇到的问题是 虽然我的代码在 Firefox 和 IE 中运行良好 但在 Chrome 7 0 517 41 中 虚线轮廓与我
  • 不将 ViewModel 放置在单独的程序集中有充分的理由吗?

    我正在 WPF 中使用 MVVM 模式开发一个项目 MVVM 的主要优势之一是保持业务逻辑和表示之间的清晰分离 为了测试所有内容实际上的分离程度 周末我将所有 ViewModel 模型和业务逻辑移动到一个单独的 dll 中 exe 被保留为
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码

随机推荐

  • 正则表达式提取第二个和第三个字符串

    我试图从句子中提取第二个和第三个字符串 空格始终是分隔符 例如 我的句子是 正则表达式对我来说是新的 我需要 是新的 作为我的输出 我有下面的正则表达式 当我在 regex101 站点尝试时它正在工作 lt s s lt s s 我在想是否
  • Node.js 还是 Go 来进行 Hyperledger Fabric 的链码开发?

    其中哪一种语言Node js and Go在可维护性 可扩展性和更好的支持方面更适合 链码 开发 这是个人喜好的问题 但我会说 Golang 因为 Node js chaincode 在容器构建时使用 npm install 速度很慢 并且
  • 物体识别、检测、分类?有什么不同?

    我不知道这是否是正确的 stackexchange 论坛 在哪里提出这个问题 如果不是这种情况 请告诉我 我正在开发一个应用程序 它给出包含绘画的输入图像作为输入 它能够告诉您绘画的标题 类似的情况是 给定一个包含建筑物的输入图像 返回的结
  • Angular 2 @angular/router 3.0.0-alpha.7 - 访问多个参数

    我只是在尝试最近发布的 Angular 2 中的新路由器 即 Angular 2 angular router 3 0 0 alpha 7 我知道在新路由器中我们可以使用以下代码访问路由参数 this activatedRoute para
  • 如何从维基百科文章中提取数据?

    我有一个关于为我的 Android 应用程序解析维基百科数据的问题 我有一个脚本 可以通过读取源代码来下载 XMLhttp en wikipedia org w api php action parse prop text format x
  • 文件还是数据库? - 在 Android 设备上保存对象的最佳实践

    我正在用java构建一个android应用程序 在其中定义一些对象 例如 用户 或 播放列表 等 如何将这些自定义对象保存在设备上以供以后访问 Gson gson new Gson String json gson toJson user
  • 如何使用 javascript 创建并读取 cookie 的值?

    如何在 JavaScript 中创建 cookie 并从中读取值 以下是可用于创建和检索 cookie 的函数 function createCookie name value days var expires if days var da
  • 使用自定义对象对 NSArray 进行排序

    在我的 Xcode 项目中 我有以下类 Address interface LDAddress NSObject NSString street NSString zip NSString city float latitude float
  • AngularJS:使用具有可选参数的 URL 进行路由

    我的 app js 中有一个包含路由的 URL 假设网址是 api opt1 opt2 opt3 users 我希望我的网址在任何情况下都能工作 我应该能够忽略可选参数 opt1 opt2 或 opt3 可能是全部或几个 我怎样才能做到这一
  • 无法从 {2,3,4,5,6,7,8} 获得的最小整数 (Mathematica)

    我正在尝试使用 Mathematica 解决以下问题 从集合中无法获得的最小正整数是多少 2 3 4 5 6 7 8 通过算术运算 求幂和括号 集合中的每个数字必须仅使用一次 不允许一元运算 例如 如果不使用 0 则 1 无法转换为 1 例
  • 如何实现简单的 Android OAuth 和服务器 API [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 Android 应用程序 它将数据发送到我的网络服务器 数据由 php 处理并存储在 mysql 数据库中 出于安全原因 我
  • 为什么 WCF 中需要 KnownTypeAttribute [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习WCF 不了解KnowTypeAttribute的真正优势 有人可以简单地解释一下为什么我们需要它吗 DataContrac
  • Automapper v5 忽略未映射的属性

    以前 当我使用 Automapper v3 x 时 只需添加一个即可忽略未映射的属性 IgnoreUnmappedProperties 扩展看起来像这样 public static class AutoMapperExtensions pu
  • 在运行时获取当前 .NET CLR 版本?

    如何在正在运行的 NET 程序中获取当前的 CLR 运行时版本 查看System Environment Version财产 https learn microsoft com en us dotnet api system environ
  • 如何在 iPhone 中的自定义按钮上设置活动指示器

    我是 iPhone 开发新手 我想设置一个加载在我的自定义按钮上的活动指示器 请指导我 示例 应用商店 gt 搜索 gt 显示更多 25 个 点击时 Add the UIActivityIndicatorView作为按钮的子视图 Creat
  • 每个进程 System.Web.HttpApplication 初始化多少次

    我有global asax它从我创建的自定义类扩展而来 称为MvcApplication它延伸自System Web HttpApplication 在它的构造函数中 它记录应用程序的启动 如下所示 protected MvcApplica
  • 如何将选项传递给 Rust 的 serde,以便可以在 Deserialize::deserialize() 中访问?

    对于上下文 我正在用 Rust 编写光线追踪器 但我正在努力寻找一种以与文件系统无关的方式加载场景的好方法 我在用着serde https serde rs 这样我就不必发明自己的文件格式 还 资源 图像纹理和网格数据 单独存储到场景文件中
  • SignalR 和 require.js 配置

    我正在合并SignalR进入我已经使用的项目需要 js处理我的脚本依赖项 我在确保 jquery signalR 1 1 2 加载后调用 signalr hubs 时遇到了一些麻烦 我已经让它工作了 但我想知道是否有更好的选择 这就是我所拥
  • 如何同步包含克隆元素的 jquery 可排序列表?

    我的情况很特殊 我有两个清单 1 列表包含所有项目 2 包含顶部列表 显然 项目重叠 并且第二个列表中的项目根据它们从列表 1 中克隆的元素标记为类clone 23clone 25 Example List 1 1 run 2 eat 3
  • WPF 图像缩放

    我有一个视图框 里面有一个图像 这非常棒 因为 Viewbox 会缩放图像以适合窗口 但是 我需要能够将图像缩放到完整尺寸并显示滚动条 但我很难弄清楚如何做到这一点 这就是我现在所拥有的 谁能指导我如何修改它以实现上述功能