过去几天我一直在寻找解决方案。
我见过{{3>} Java Advanced Imaging 。但这似乎受到任一图像文件的最小宽度和高度的限制。因此它输出一个文件,其中包含头文件的高度和宽度。
最好,我想让标题不覆盖身体图像的任何部分。但这不是一个要求。有时身体图像的宽度小于标题,这很好,因为头文件的主要内容将位于中间。
使用 JDK 1.6.0_41 ,我需要拍摄前两张图片:
结果是:
无论是使用Java还是Javscript都可以。整个过程如下:
我使用OpenLayers获取地图的canvas对象,然后使用POST将其发送到Java Servlet进行处理和存储。然后,如果用户需要,则检索图像。
长蓝色标题需要位于图像的顶部或其上方。标题图片将包含来自创建它的用户的内容等。我可以做。但操纵多个图像并不是我所熟悉的。
答案 0 :(得分:2)
在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;
}