pixie/tests/test_bmp.nim
Ryan Oldenburg 42da6582cf bmp stuff
2020-11-20 13:18:37 -06:00

37 lines
1.1 KiB
Nim

import pixie, pixie/fileformats/bmp, chroma
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))