【问题标题】:Merge two Image.class items into 1 Image.class将两个 Image.class 项目合并为 1 个 Image.class
【发布时间】:2013-11-23 19:25:21
【问题描述】:

我已经在这个网站上研究了一段时间,并没有想出我正在寻找的确切内容。我正在使用我没有源代码的软件,必须将该代码传递给 Image.class 图像。我有 2 个图像,我需要将第一个图像覆盖在第二个图像上,然后将该组合图像传递给我正在与之交互的软件。我必须对所有代码使用 Java 语言。

我发现的一切都是直接写 2 张图片。我正在尝试做的事情是否可行,如果可以,您能帮我获得这些结果吗?代码存根会很棒。我非常感谢您花时间帮助我。

【问题讨论】:

  • 我不太清楚你在问什么——你想弄清楚如何合并图像吗?还是使用您没有来源的软件?或者是其他东西?您可以发布一些代码来代表您到目前为止所尝试的内容吗?
  • 我想做的是拍摄 2 张​​图像,将它们合并为 1 张图像;然后,使用 foo(Image image) 函数将该 1 张图像传递给婴儿床软件。

标签: java swing user-interface cots


【解决方案1】:

基本上,您可以将一张图像“绘制”到另一张图像上...诀窍是将其中一张图像转换为正确的格式...

Image image1 = ...;
Image image2 = ...;
BufferedImage buffer1 = new BufferedImage(image1.getWidth(this), image1.getHeight(this), BufferedImage.TYPE_ARGB);
Graphics2D g = buffer.createGraphics();
g.drawImage(image1, 0, 0, this);
g.drawImage(image2, 0, 0, this);
g.dispose();

这将覆盖image2 覆盖image1。您可以将buffer1 分配给image1 并将其传递给您的其他类,或者简单地将buffer1 传递为BufferedImage 扩展自java.awt.Image

【讨论】:

  • 我会看看这是否有效。看起来一旦我使用缓冲区获取图形,所有 drawImage 调用都会将图标绘制到缓冲区。那是我认为我迷路的地方。
  • 是的,基本上,这只是将每个图像绘制到BufferedImageGraphics 上下文...如果您使用的是java.awt.Icon,则过程略有不同,但概念是一样的……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多