在java中结合两个图像?

时间:2011-02-09 19:43:41

标签: java image-processing

在我的项目中,用户上传图片。有时它比预期的要小。

我想创建一个默认大小的白色(空)图像,并将用户图像(小)放在中心 白色图像。换句话说,我想用白色像素覆盖小图像的所有边。

我怎么能用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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您是否尝试过增加图片的尺寸,试试这个link,它们会告诉您如何。

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