我有大约。 6000 个 PNG 文件(256*256 像素),并希望以编程方式将它们组合成一个大的 PNG。
最好/最快的方法是什么?
(目的是在纸上打印,所以不能使用一些网络技术,只有一个单一的图片文件可以消除许多使用错误。)
我尝试了 fahd 的建议,但是当我尝试创建一个宽 24576 像素、高 15360 像素的 BufferedImage
时,我得到了一个 NullPointerException
。有什么想法吗?
最佳答案
创建一个您将写入的大图像。根据您想要的行数和列数计算其尺寸。
BufferedImage result = new BufferedImage(
width, height, //work these out
BufferedImage.TYPE_INT_RGB);
Graphics g = result.getGraphics();
现在循环浏览您的图像并绘制它们:
for(String image : images){
BufferedImage bi = ImageIO.read(new File(image));
g.drawImage(bi, x, y, null);
x += 256;
if(x > result.getWidth()){
x = 0;
y += bi.getHeight();
}
}
最后写入文件:
ImageIO.write(result,"png",new File("result.png"));
关于java - 如何将多个PNG组合成一个大的PNG文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922276/