gpt4 book ai didi

java - java中的分层绘图

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

我正在制作一个 swing 桌面应用程序。它绘制分层 vector 图形,界面使用滚动条并具有放大功能。 vector 图形大约有5层,尤其一层的绘制成本非常高。这些图层可能需要不时地重新绘制(简单的动画)。

现在的情况是这样的:

  1. 已创建缓冲图像
  2. 每个图层都绘制在图像上
  3. 缓冲的图像使用具有相同大小的面板显示在屏幕上,以便可以使用滚动条。

当我放大时,我遇到了性能问题。缩放会使缓冲的图像变得非常大。当比例为 16 倍时,图像的峰值可达 60000x60。当然,这会占用大量内存,我想重新设计它。

我真的不知道从哪里开始,我觉得我在重新发明轮子。我对java2d的了解也很有限。我真的想通过使用库来改进这一点,我知道一定有一些东西具有我想要的功能。有想到的图书馆吗?

最佳答案

不创建缓冲图像。在您知道要显示多少内容之前,您正在对输出进行光栅化。

查看“损坏”矩形,并有一个回调系统,它告诉您需要呈现的栅格的“子部分”,然后仅栅格化所需的像素。无论缩放级别如何,这都应该为您提供相对一致的性能,因为要计算的唯一像素是要显示的像素,而不是概念上像素比以前多 16^2 倍的图像。

关于java - java中的分层绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013425/

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