#include "Image.h" #include "PngWriter.h" #include "File.h" #include "BitStream.h" #include "ByteUtils.h" #include "ImagePrimitives.h" #include void testCompressedPng() { 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; idxsetData(data); PngWriter writer; writer.setPath("test_compressed.png"); writer.write(image); return; File test_file("test_compressed.png"); test_file.SetAccessMode(File::AccessMode::Read); test_file.Open(true); while(auto byte = test_file.readNextByte()) { std::cout << static_cast(*byte) << std::endl; } test_file.Close(); } void testFixedPng() { 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; idxsetData(data); PngWriter writer; writer.setPath("test_fixed.png"); writer.setCompressionMethod(Deflate::CompressionMethod::FIXED_HUFFMAN); writer.write(image); //return; File test_file("test_fixed.png"); std::cout << test_file.dumpBinary(); } int main() { //testCompressedPng(); testFixedPng(); return 0; }