gpt4 book ai didi

Java2D 和图像创建

转载 作者:行者123 更新时间:2023-11-30 09:54:26 24 4
gpt4 key购买 nike

我想从 Java 动态创建一些图像并将其保存到文件中。正如我在各种教程中所读到的,我需要使用 BufferedImage。

但是,BufferedImage 构造函数需要高度和宽度作为参数。但我不知道我的图像的最终尺寸。我应该如何创建一个事先不知道大小的图像?

有两个明显的策略:

  1. 最初创建一个非常大的图像,比如 10000x10000。
  2. 逐渐创建更大的图像,并将原始图像复制到其中。缺点是每次我想添加一些东西之前我都需要检查边界。

你是如何处理这个问题的?

最佳答案

您刚刚遇到了空间与时间的问题。我将采用创建 10000x10000 超大图像的第一种策略,原因很简单,第二种方法是您所说的涉及大量矩阵副本,您希望不惜一切代价避免这种情况。

此外,在充分了解图像大小的情况下,您可以进一步将 10000 x 10000 的值优化为最初的 1000x1000 之类的值。如果图像似乎超过了这个,将它加倍,比如 2000 x 2000,然后将旧的复制到新的,并在图像扩展时继续这样做。这更像是著名的 java 中使用的一种行之有效的策略.util.ArrayList

通过这种方式,您间接地弥合了时间与空间的权衡。是的,您每次都必须计算边界,但这对我来说并不是什么大任务,它可以在 O(1) 时间内完成。

关于Java2D 和图像创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3279109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com