pixie/tests/test_bmp.nim
Ryan Oldenburg f2b3c67d4b morepretty
2021-02-16 00:35:36 -06:00

38 lines
1.1 KiB
Nim

import chroma, pixie, pixie/fileformats/bmp
block:
var image = newImage(4, 2)
image[0, 0] = rgba(0, 0, 255, 255)
image[1, 0] = rgba(0, 255, 0, 255)
image[2, 0] = rgba(255, 0, 0, 255)
image[3, 0] = rgba(255, 255, 255, 255)
image[0, 1] = rgba(0, 0, 255, 127)
image[1, 1] = rgba(0, 255, 0, 127)
image[2, 1] = rgba(255, 0, 0, 127)
image[3, 1] = rgba(255, 255, 255, 127)
writeFile("tests/images/bmp/test4x2.bmp", encodeBmp(image))
var image2 = decodeBmp(encodeBmp(image))
doAssert image2.width == image.width
doAssert image2.height == image.height
doAssert image2.data == image.data
block:
var image = newImage(16, 16)
image.fill(rgba(255, 0, 0, 127))
writeFile("tests/images/bmp/test16x16.bmp", encodeBmp(image))
var image2 = decodeBmp(encodeBmp(image))
doAssert image2.width == image.width
doAssert image2.height == image.height
doAssert image2.data == image.data
block:
for bits in [32, 24]:
var image = decodeBmp(readFile("tests/images/bmp/knight." & $bits &
".master.bmp"))
writeFile("tests/images/bmp/knight." & $bits & ".bmp", encodeBmp(image))