如何在WPF中叠加图像?

2023-12-24

我有两个图像需要重叠。

例如,我需要在实心矩形顶部有一个实心圆。所以,我可以看到整个圆,但只能看到矩形的角。我不希望圆圈是透明的。原本的circle.png没有矩形边框。它的边界仅沿着圆的边界。因此,理想情况下,整个圆不应与矩形重叠。

这是显示图像的代码:

                BitmapImage src = new BitmapImage();
                src.BeginInit();
                src.UriSource = new Uri(imgpath, UriKind.Absolute);
                src.CacheOption = BitmapCacheOption.OnLoad;
                src.EndInit();
                ImageBrush ib = new ImageBrush(src);
                ib.Viewbox = new Rect(UVRectangle.X / src.PixelWidth, UVRectangle.Y / src.PixelHeight, UVRectangle.Width / src.PixelWidth, UVRectangle.Height / src.PixelHeight);
                gr.Background = ib; //gr is of type Grid

但是,如果我调用此函数两次,第二个图像(圆形)完全覆盖矩形,因此,我最终看到了画布的背景而不是矩形的角。

我想我需要合并两个图像然后绘制它们。我该怎么做呢?


实际上,您可以在 XAML 中使用普通的 Grid。只需将 2 个图像放入网格内即可。它们将像这样相互放置:

<Grid>
        <Image Source="/ProjectName;component/Folder/Image1.png"
                                Width="24"
                                Height="24" />
        <!-- Image above Image1 -->
        <Image Source="/ProjectName;component/Folder/Image2.png"
                                Width="24"
                                Height="24" />
    </Grid>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在WPF中叠加图像? 的相关文章

随机推荐

  • Android Studio 中出现意外令牌:错误:(40, 61) 错误:非法字符:\8232

    当我有时 从 WEB 或其他外部源 将粘贴代码复制到 Android Studio 中时 我会得到一些不可见的字符 并且无法编译 有办法避免这种情况吗 自动重新格式化代码 插入 更改设置 Error 40 61 error illegal
  • 反应:未捕获范围错误:超出最大调用堆栈大小

    我正在使用 React 并且得到了我想要的功能 但由于某个地方的无限循环 它非常慢 我相信它在组件生命周期方法中 但我不确定如何重新格式化以下代码以具有相同的功能但没有无限循环 任何有关最佳实践的建议将不胜感激 class App exte
  • 轨道模型的别名

    我在 Rails 应用程序之一中的模型名称是OrganizationUser有没有办法为此模型创建别名作为 OU 或 OrgUser 以便我可以在 Rails 控制台中使用 如果 kishie 的答案不适合您 您可以创建另一个继承自 Org
  • 从子目录导入文件?

    我有一个名为tester py 位于 project project有一个子目录名为lib 有一个名为BoxTime py project tester py project lib BoxTime py 我想进口BoxTime from
  • 查找将从 Windows 命令行执行的程序的路径

    说我有一个程序X EXE安装在文件夹中c abcd happy 在系统上 该文件夹位于系统路径上 现在假设系统上还有另一个程序 也称为 X EXE 但安装在文件夹中c windows 是否可以从命令行快速找出如果我输入X EXE两者中的哪一
  • 如何在 MVC 索引页面中显示导航属性集合中的值

    我有一个名为 JobTitle 的 EF 实体类型 它有一个名为 Offices 的导航属性 它是另一个名为 Office 的实体类型的集合 我想在索引视图中显示 JobTitle 名称和相关 Office 名称的列表 View 脚手架默认
  • 使用 python 中的 csv 模块写入特定单元格

    我必须向 csv 文件中的特定单元格 例如第 8 个单元格 写入一个值 我可以看到有一个csvwriter writerow row 方法来写入整行 但我没有看到任何将值写入特定单元格的内容 The csv模块 http docs pyth
  • 使用现有 R 会话中的对象运行 Sweave 或 knit

    假设我有一个对象x在我当前的会话中 x lt 1 如何在 Sweave 或 knit 文档中使用此对象 而无需显式分配它 documentclass article begin document lt lt gt gt print x en
  • 如何自动启动 AlarmManager 来启动计划活动?

    本教程来自android er http android er blogspot com 2011 05 using alarmmanager to start scheduled html 主活动 AndroidScheduledActi
  • 在 Android 中改造没有值的 GET

    我在大多数调用中都使用 Retrofit 但在其中一种情况下 我在参数中提供了完整路径 我的网址是这样的http www example com android json http www example com android json
  • css 字体大小和行高与基线不匹配

    我正在尝试做一些应该非常简单的事情 但我在失败和论坛之间度过了一天 我想调整我的字体以匹配我的基线 在 indesign 中只需点击一下即可 但在 css 中这看起来是地球上最困难的事情 让我们举一个有理值的简单例子 在这张图片上 我每 2
  • Theano 张量切片...如何使用布尔值进行切片?

    在 numpy 中 如果我有一个布尔数组 我可以用它来选择另一个数组的元素 gt gt gt import numpy as np gt gt gt x np array 1 2 3 gt gt gt idx np array True F
  • 如何重用多处理池?

    底部是我现在拥有的代码 看起来效果很好 但是 我并不完全理解它 我以为没有 join 我冒着在池完成执行之前代码进入下一个 for 循环的风险 我们不需要那 3 行注释掉的行吗 另一方面 如果我要和 close and join 方式 有什
  • 影响数据库的 Angular e2e 测试

    这是我的问题 一步一步 我认为这样读起来更好 不像一堵文字墙可怜地试图解释我的特定领域的问题 1 我们有一个Angular js应用程序与PHP后端支持MongoDB贮存 2 Protractor用于端到端测试 3 需要测试改变数据库的页面
  • C# HttpWebRequest POST 不发送参数

    我正在尝试使用下一个代码执行带有参数的 POST 请求 我正在使用本地 php 脚本来接收参数 但是当我执行请求时 php 脚本没有接收从我的 C 函数发送的参数 它说 注意 未定义索引 detalle 注意 未定义索引 method pa
  • Glassfish - 上传图像 - 正确执行

    我使用的是最新的 glassfish 3 1 2 所以不需要 apache FileItem 并且 getPart 没有错误 我读到上传图像的最佳实践是将它们保存在文件系统上 请参阅here https stackoverflow com
  • 如何查看包的历史记录?

    如何查看 Npm 注册表中包的历史记录 我特别想知道什么时候https npmjs org package npm https npmjs org package npm1 1 2版本发布 你可以做npm view npm您可以在以下位置找
  • 删除as3中的空格

    如何从 as3 中的字符串中删除空格 我希望能够删除所有回车符 空格 制表符等 您可以使用正则表达式 var rex RegExp s r n gim var str String This is a string str str repl
  • 即使 Ant 任务失败,Ant 也会成功

    我一定缺少一个简单的设置 所以请原谅我 但我有两次注意到我的坏蚂蚁任务不会导致构建失败 例如 当源文件不存在时 Ant 复制 构建成功 Ant 解压缩 当任务报告 无法写入文件 或类似消息时 构建成功 Ant 执行错误 语法无效 构建成功
  • 如何在WPF中叠加图像?

    我有两个图像需要重叠 例如 我需要在实心矩形顶部有一个实心圆 所以 我可以看到整个圆 但只能看到矩形的角 我不希望圆圈是透明的 原本的circle png没有矩形边框 它的边界仅沿着圆的边界 因此 理想情况下 整个圆不应与矩形重叠 这是显示