Java2D&图像创建

我想从Java动态创建一些图像并将其保存到文件中。 正如我在各种教程中所读到的,我需要使用BufferedImage。 但是,BufferedImage构造函数要求将height和width作为参数。但我不知道我的图像的最终尺寸。我该如何创建一个大小未知的图像? 有两个明显的策略: 最初创建一个非常大的图像,比如10000x10000。 逐渐创建更大的图像,并将原件复制到它。缺点是我需要在每次添加内容之前检查边界。 你是如何处理这个问题的?     
已邀请:
你刚刚遇到空间与时间问题。我会想要创建一个非常大的图像10000x10000的第一个策略,简单的原因是你说的第二种方法涉及矩阵副本,你想要不惜一切代价避免。 此外,在充分了解图像大小的情况下,您可以进一步优化10000 x 10000的值,最初为1000x1000。如果图像看起来超过这个,加倍它就像2000 x 2000并将旧的复制到新的一个并继续这样做,因为你的图像扩展..这是一个经过验证的策略,用于着名的
java.util.ArrayList
通过这种方式,你间接地弥合了时间与空间的权衡。是的,你必须每次都计算边界,但对我来说这看起来不是一项大任务,可以在O(1)时间完成。     
当然我们不知道你的问题的具体细节,但一个简单的方法可能是这样的:你建立你的图像的某种模型:哪个形状去哪里和有多大。由此您应该能够计算总图像的尺寸。     

要回复问题请先登录注册