From 03a9bfd7d247ee32023a43efe9956a9407d12fa7 Mon Sep 17 00:00:00 2001 From: Don Bright Date: Wed, 11 Sep 2013 21:47:23 -0500 Subject: lodepng: write RGB instead of RGBA: decoders differ on alpha rendering diff --git a/src/imageutils-lodepng.cc b/src/imageutils-lodepng.cc index 9f3afda..46b593d 100644 --- a/src/imageutils-lodepng.cc +++ b/src/imageutils-lodepng.cc @@ -11,12 +11,9 @@ bool write_png(std::ostream &output, unsigned char *pixels, int width, int heigh { std::vector dataout; lodepng::State state; - state.info_png.background_defined = true; - Color4f bg = RenderSettings::inst()->color(RenderSettings::BACKGROUND_COLOR); - state.info_png.background_r = bg(0); - state.info_png.background_g = bg(1); - state.info_png.background_b = bg(2); - state.info_png.color.colortype = LCT_RGBA; + 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; -- cgit v0.10.1