diff options
author | Vicnet <vo.publique@gmail.com> | 2013-09-13 12:52:22 (GMT) |
---|---|---|
committer | Vicnet <vo.publique@gmail.com> | 2013-09-13 12:52:22 (GMT) |
commit | 7b1e423f8214bb42c7668505066507e4d9c7091a (patch) | |
tree | 19e9174a312f35af416f9fa4cd58f31876052e79 /src/imageutils-lodepng.cc | |
parent | f6343949ebc6936880a6cd62bfe3574541a11fb5 (diff) | |
parent | ead8749e99238c18a3d7bb903f98bb7bca6a7685 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/imageutils-lodepng.cc')
-rw-r--r-- | src/imageutils-lodepng.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/imageutils-lodepng.cc b/src/imageutils-lodepng.cc index cd104d6..a71a017 100644 --- a/src/imageutils-lodepng.cc +++ b/src/imageutils-lodepng.cc @@ -9,7 +9,12 @@ bool write_png(std::ostream &output, unsigned char *pixels, int width, int height) { std::vector<unsigned char> dataout; - unsigned err = lodepng::encode(dataout, pixels, width, height, LCT_RGBA, 8); + lodepng::State state; + state.encoder.auto_convert = LAC_NO; + // some png renderers have different interpretations of alpha, so don't use it + state.info_png.color.colortype = LCT_RGB; + state.info_png.color.bitdepth = 8; + unsigned err = lodepng::encode(dataout, pixels, width, height, state); if ( err ) return false; output.write( reinterpret_cast<const char *>(&dataout[0]), dataout.size()); if ( output.bad() ) std::cerr << "Error writing to ostream\n"; |