Issue

Some colors are missing in every GIF rendered through the Layer Class.

Solution

The second argument of the write method defines the image quality:

  • JPEG: The compression quality is a number between 0.0 -> 1.0. Usually, the value 0.8 is a good compromise between quality and image file size.
  • GIF: The number of colors is between 1 and 256.

Therefore, the correct code is as follows:

layer.write(imageBean.getImageType() , 256, cqResponse.getOutputStream());

Additional information

This issue occurs when the number of colors is set to eight instead of 256, in the Layer.write() method:

layer.write(imageBean.getImageType() , 8, cqResponse.getOutputStream());

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策