过去几天我一直在寻找解决方案。
我看到了example of composite images与Java高级成像。但这似乎受到任一图像文件的最小宽度和高度的限制。因此它输出一个具有头文件高度和宽度的文件。
最好,我希望标题不覆盖 body 图像的任何部分。但这不是一个要求。有时正文图像的宽度小于标题,这很好,因为标题文件的主要内容将位于中间。
使用JDK 1.6.0_41,我需要拍摄前两张图像:
结果是:
无论是使用Java还是Javscript都可以。整个流程如下:
我使用 OpenLayers 获取 map 的 Canvas 对象,然后使用 POST 将其发送到 Java Servlet 进行处理和存储。然后,如果用户需要,稍后检索图像。
长蓝色标题需要位于图像的顶部或正上方。标题图像将包含创建它的用户的内容等。这是我可以做到的。但操作多个图像并不是我熟悉的事情。
最佳答案
在Java中,你可以这样做:
public BufferedImage prependImage(BufferedImage image1, BufferedImage image2) {
Dimension d1 = new Dimension(image1.getWidth(null),
image1.getHeight(null));
Dimension d2 = new Dimension(image2.getWidth(null),
image2.getHeight(null));
Dimension dt = new Dimension(d1.width, d1.height + d2.height);
BufferedImage image = new BufferedImage(dt.width, dt.height,
BufferedImage.TYPE_INT_ARGB);
Graphics g = image.getGraphics();
int x = 0;
int y = 0;
g.drawImage(image1, x, y, d1.width, d1.height, null);
y += d1.height;
g.drawImage(image2, x, y, d2.width, d2.height, null);
g.dispose();
return image;
}
关于java - 将图像添加到另一图像的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16284869/