gpt4 book ai didi

java - 旋转图像而不将整个图像保存在内存中

转载 作者:行者123 更新时间:2023-11-29 04:31:33 25 4
gpt4 key购买 nike

我正在使用 PNGJ 保存一个大的 PNG 文件 (40000 x 3000)图书馆。现在我需要将图像向右旋转 90 度而不将整个图像保存在内存中。 PNGJ 库仅限于逐行写入图像,因此我无法旋转每一行并逐列写入图像。

有什么办法吗?

最佳答案

PNGJ library is limited to write images line by line

实际上,它是面向行的 PNG 格式。如果不读取所有“先前”像素,就无法读取 PNG 图像的单个像素。所以,我猜你运气不好。

我认为,如果您不能将完整图像存储在内存中,您能做的最好的事情就是通过 K 水平条纹加载和写入它。你通过读取完整图像来填充第一个条纹(你只存储每行的第一个像素,对应于旋转图像的第一个水平条纹的像素,丢弃其余部分),写入它,然后再次读取文件到填充并写入第二个条纹,等等。这涉及对原始文件的K 次读取(当然,你应该在内存允许的范围内将条纹做得尽可能粗,以便使K 变小)。我希望你明白这一点。

您可以使用 PNGJ 做到这一点。

关于java - 旋转图像而不将整个图像保存在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618181/

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