private void WriteImage() { //TODO: Fix the new LZW encoder when ColorTableSize == 7. It is getting corrupted. if (ColorTableSize < 7) { //New LZW encoder, ColorTableSize from 1 to 8. The plus 1 is just to adjust the range, it will mean the same amount of color. var encoder = new LzwEncoder(IndexedPixels, ColorTableSize + 1); encoder.Encode(InternalStream); } else { //Old LZW encoder, only works with ColorTableSize 8. var encoder = new ImageUtil.LegacyEncoder.LzwEncoder(0, 0, IndexedPixels, 8); encoder.Encode(InternalStream); } }
private void WriteImage() { //TODO: Fix the new LZW encoder when ColorTableSize == 7. It's getting corrupted. //if (ColorTableSize < 6) //{ // //New LZW encoder, ColorTableSize from 1 to 8. // var encoder = new LzwEncoder(IndexedPixels, ColorTableSize + 1); // encoder.Encode(InternalStream); //} //else //{ //Old LZW encoder, only works with ColorTableSize 8. var encoder = new ImageUtil.LegacyEncoder.LzwEncoder(0, 0, IndexedPixels, 8); encoder.Encode(InternalStream); //} }