在Java中如何合并两张图片?

3
在我的项目中,用户上传图片。有时它比预期的要小。
我想创建一个默认大小的白色(空的)图像,并将用户的图像(小的)放在白色图像的中心。换句话说,我想用白色像素覆盖小图像的所有边缘。
如何使用Java实现?
我不擅长Java图像处理。但我使用 BuferedImage 来扩展上传的图像。
BufferedImage newImage = new BufferedImage(50, 50,  BufferedImage.TYPE_INT_RGB);
newImage.getGraphics().drawImage(srcImage, 0, 0, srcImage.getWidth(), srcImage.getHeight(), null);

如果源图像的宽度和高度小于50,则上述代码将填充黑色。

源图像从左上角开始渲染,其余区域填充为黑色。

是否可以将源图像移动到中心,并用白色填充剩余像素。

欢迎提出任何建议。

谢谢。

2个回答

1
你试过这个吗? newImage.getGraphics().translate((25-srcImage.getWidth()/2), (25-srcImage.getHeight()/2));

0

你尝试过增加图片的大小吗?在这个链接中,他们会告诉你如何操作。

回到你的问题,如果你想把图片放在中心位置,那么你应该改变drawImage()函数的第三和第四个参数,设置图片的位置。在这种情况下,你必须计算空白图片的中心位置减去原始图片的大小,并将其放置在那里。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接