From c6c43ad89502cfe713da93fdfdfbd338d62329f4 Mon Sep 17 00:00:00 2001 From: jbb01 <32650546+jbb01@users.noreply.github.com> Date: Tue, 6 Aug 2024 17:39:09 +0200 Subject: [PATCH] fix length of IDAT chunk --- docs/diagramm.png | Bin 2444917 -> 2444917 bytes .../raytracing/render/ImageFormat.java | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/diagramm.png b/docs/diagramm.png index 76290c11a37625bf8761ccc43239fad561c6a7ee..29e0a575b9eb07c8c4d7b97f6baaef2af28b7f73 100644 GIT binary patch delta 127 zcmWN=xeD9ICT6r@Y2>&w+qK`&{ePuTA_V{d delta 127 zcmWN=xeD9ICT6r@Y2>&w+qK`&{ePz)A_)Kh diff --git a/src/main/java/eu/jonahbauer/raytracing/render/ImageFormat.java b/src/main/java/eu/jonahbauer/raytracing/render/ImageFormat.java index 79e6c1a..e3171c9 100644 --- a/src/main/java/eu/jonahbauer/raytracing/render/ImageFormat.java +++ b/src/main/java/eu/jonahbauer/raytracing/render/ImageFormat.java @@ -1,6 +1,7 @@ package eu.jonahbauer.raytracing.render; import eu.jonahbauer.raytracing.render.canvas.Canvas; +import eu.jonahbauer.raytracing.render.canvas.Image; import org.jetbrains.annotations.NotNull; import java.io.*; @@ -10,6 +11,7 @@ import java.nio.file.Path; import java.util.zip.CRC32; import java.util.zip.CheckedOutputStream; import java.util.zip.DeflaterOutputStream; +import java.util.zip.InflaterInputStream; public enum ImageFormat { PPM { @@ -93,7 +95,7 @@ public enum ImageFormat { } var bytes = baos.toByteArray(); - data.writeInt(bytes.length); + data.writeInt(bytes.length - 4); // don't include type in length data.write(bytes); data.writeInt((int) crc.getChecksum().getValue()); }