From 766a5878e6cdd5815a7f9b44c8a6bab95f25def9 Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Sat, 20 Apr 2019 14:24:21 +0200 Subject: [PATCH] Image saving works! --- main.nim | 21 ++++++++++----------- mandelbrot.bmp | Bin 0 -> 480450 bytes mandelbrot.nimble | 1 + three.bmp | Bin 66 -> 0 bytes 4 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 mandelbrot.bmp delete mode 100644 three.bmp diff --git a/main.nim b/main.nim index dd592d4..1683237 100644 --- a/main.nim +++ b/main.nim @@ -1,15 +1,14 @@ -import mandelbrot, colors +import mandelbrot, colors, nimBMP -echo mandelbrot.generateImage(800, 600, 150'f64, 32, 570)[0][0] +let img = mandelbrot.generateImage(800, 600, 150'f64, 32, 570) +var raw:seq[uint8] -import stb_image/write as stbiw +for y in img: + for x in y: + let rgb = x.extractRGB() + raw.add(rgb.r.uint8) + raw.add(rgb.g.uint8) + raw.add(rgb.b.uint8) -# Stuff some pixels -var data: seq[uint8] = @[] -data.add(0x00) -data.add(0x80) -data.add(0xFF) - -# save it (as monochrome) -stbiw.writeBMP("three.bmp", 3, 1, stbiw.Y, data) +saveBMP24("mandelbrot.bmp", raw, 800, 600) diff --git a/mandelbrot.bmp b/mandelbrot.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5ab43cb7f0beb68b33057d8add14401bb9fdf152 GIT binary patch literal 480450 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 TAUm2zHIfwq7!fckz`y_icg0IB literal 0 HcmV?d00001 diff --git a/mandelbrot.nimble b/mandelbrot.nimble index a304274..9153001 100644 --- a/mandelbrot.nimble +++ b/mandelbrot.nimble @@ -11,3 +11,4 @@ bin = @["main"] requires "nim >= 0.19.9" requires "stbimage >= 2.3" +requires "nimbmp >= 0.1.6" diff --git a/three.bmp b/three.bmp deleted file mode 100644 index 7c5a72eed431d27cc4f2154e6de8f2edf5a653be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66 pcmZ?rbz*=3GX@3*4F(1VW(EcZMlhCuNMI)$8XErp|Ifg{003yH1