#include "Image.h" #include "PngWriter.h" #include "File.h" #include "BitStream.h" #include "ByteUtils.h" #include "Grid.h" #include "ImagePrimitives.h" #include "TestFramework.h" #include "TestUtils.h" #include TEST_CASE(TestUncompressedPng, "image") { unsigned width = 20; unsigned height = 20; unsigned numChannels = 1; auto image = Image::Create(width, height); image->setNumChannels(numChannels); image->setBitDepth(8); std::vector data(width*height, 0); for (unsigned idx=0; idxgetGridT()->setData(data); PngWriter writer; writer.setCompressionMethod(Deflate::CompressionMethod::NONE); writer.write(TestUtils::getTestOutputDir(__FILE__) / "test_uncompressed.png", image.get()); File test_file(TestUtils::getTestOutputDir(__FILE__) / "test_uncompressed.png"); test_file.open(File::AccessMode::Read); std::cout << test_file.dumpBinary(); return; while(auto byte = test_file.readNextByte()) { //std::cout << static_cast(*byte) << std::endl; } } TEST_CASE(TestFixedPng, "image") { unsigned width = 10; unsigned height = 10; unsigned numChannels = 1; auto image = Image::Create(width, height); image->setNumChannels(numChannels); image->setBitDepth(8); std::vector data(width*height, 0); for (unsigned idx=0; idxgetGridT()->setData(data); PngWriter writer; writer.setCompressionMethod(Deflate::CompressionMethod::FIXED_HUFFMAN); writer.write(TestUtils::getTestOutputDir(__FILE__) / "test_fixed.png", image.get()); } TEST_CASE(TestDynamicCompressedPng, "image") { unsigned width = 10; unsigned height = 10; unsigned numChannels = 1; auto image = Image::Create(width, height); image->setNumChannels(numChannels); image->setBitDepth(8); std::vector data(width*height, 0); for (unsigned idx=0; idxgetGridT()->setData(data); PngWriter writer; //writer.setPath(TestUtils::getTestOutputDir() / "test_dynamic.png"); writer.write(TestUtils::getTestOutputDir(__FILE__) / "test_dynamic.png", image.get()); //return; File test_file(TestUtils::getTestOutputDir(__FILE__) / "test_dynamic.png"); //std::cout << test_file.dumpBinary(); }