fix checksum of IEND chunk

This commit is contained in:
jbb01 2024-08-06 00:43:34 +02:00
parent 0cffee4cfa
commit c2d230bed0
4 changed files with 2 additions and 1 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 KiB

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 881 KiB

After

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 KiB

After

Width:  |  Height:  |  Size: 702 KiB

View File

@ -41,6 +41,7 @@ public enum ImageFormat {
private static final int IHDR_TYPE = 0x49484452; private static final int IHDR_TYPE = 0x49484452;
private static final int IDAT_TYPE = 0x49444154; private static final int IDAT_TYPE = 0x49444154;
private static final int IEND_TYPE = 0x49454E44; private static final int IEND_TYPE = 0x49454E44;
private static final int IEND_CRC = -1371381630;
@Override @Override
public void write(@NotNull Canvas image, @NotNull OutputStream out) throws IOException { public void write(@NotNull Canvas image, @NotNull OutputStream out) throws IOException {
@ -101,7 +102,7 @@ public enum ImageFormat {
private void writeIEND(@NotNull Canvas image, @NotNull DataOutputStream data) throws IOException { private void writeIEND(@NotNull Canvas image, @NotNull DataOutputStream data) throws IOException {
data.writeInt(0); data.writeInt(0);
data.writeInt(IEND_TYPE); data.writeInt(IEND_TYPE);
data.writeInt(0); data.writeInt(IEND_CRC);
} }
private static class NoCloseDataOutputStream extends DataOutputStream { private static class NoCloseDataOutputStream extends DataOutputStream {