【问题标题】:Apply a frame to an image将框架应用于图像
【发布时间】:2017-12-10 04:21:10
【问题描述】:

我有两张图片,其中一张就像一个框架(具有自定义边框和透明背景的图片),我还有另一张图片,我需要应用/合并这两张图片以显示带有框架的第二张图片。

我见过不同的例子,但我找不到解决办法。

谢谢!

【问题讨论】:

  • 但它们在网格中彼此重叠?
  • Joe,我有两个图像控件,我没有使用网格,但是如果我需要使用它们我没有问题,我的案例 y 喜欢一些流行的照片应用程序,添加照片然后下一步选择一个框架并合并
  • 他们png和格式一样吗?
  • 是的,两张图片都是 png Peter

标签: .net wpf image


【解决方案1】:

在 WPF 中重叠组件的最简单方法是将两个项目放在一个 Grid 中,按照您希望它们显示的顺序占据相同的“单元格”:

<Grid>
    <Image Source="D:\photo.png"></Image>
    <Image Source="D:\frame.png"></Image>
</Grid>

这将显示如下:

但是,这只是将它们覆盖在应用程序的 UI 中 - 例如,如果您想保存/导出这些图像,则它是一种涉及图像处理/渲染的不同操作。虽然您可以将 Grid 组件渲染为图像。

即使这是最终目标,在用户“挑选”帧时像上面那样显示它们可能会更有效,因为它会快速高效 - 然后正确处理图像以将它们一起呈现用户按下“导出”按钮。

编辑:要将两个图像渲染为一张,请尝试使用来自System.DrawingGraphics

using (Graphics g = Graphics.FromImage(photo))
{
    g.DrawImage(frame, x, y)
    g.Save();
}
photo.Save(...);

取决于您的要求。

【讨论】:

  • 乔,我会尝试,是的,之后我需要获取合并的图像来保存它,或者将其转换为流
猜你喜欢
  • 2014-02-21
  • 1970-01-01
  • 1970-01-01
  • 2021-07-18
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多