gpt4 book ai didi

java - PNGj : Row writing order

转载 作者:行者123 更新时间:2023-12-02 05:02:36 29 4
gpt4 key购买 nike

目的是在另一个图像的某个指定区域绘制一个小图像。是否有可能仅更改指定行并避免重写原始图像的整行?我尝试只写入子图像行,结果是可预测的:

ar.com.hjg.pngj.PngjOutputException: rows must be written in order: expected:0 passed:1781

最佳答案

PNG 格式使用 zlib 压缩。每行的压缩表示取决于前面的压缩数据,并且由于 PNG 过滤,也可以取决于前一行。因此,您必须读取整个图像,更改要更改的行,然后重写整个图像。

理论上,可以通过在每行开头刷新并重新启动压缩器来编写可编辑的 PNG,但压缩比会因此受到影响。我不知道有任何应用程序实际上可以做到这一点。您还必须将 PNG 过滤限制为仅 NONE 和 SUB 过滤器,它们不需要访问上一行。

最好继续重写整个图像。

关于java - PNGj : Row writing order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111896/

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