summaryrefslogtreecommitdiff
path: root/src/imageutils-lodepng.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-09-13 04:49:42 (GMT)
committerMarius Kintel <marius@kintel.net>2013-09-13 04:49:42 (GMT)
commit233406230281d8fefe24902fea52d916dfb3d88e (patch)
tree045c17e47c0c2131903c175662b2d234878878c4 /src/imageutils-lodepng.cc
parentb53dde04e2a13c066cfa0c552fe5bd0cdd1b8dbd (diff)
parent54b35a4a844f7f66db43b08a2a557cba7e81e302 (diff)
Merge pull request #472 from openscad/fixcamera1
fix issue #430
Diffstat (limited to 'src/imageutils-lodepng.cc')
-rw-r--r--src/imageutils-lodepng.cc7
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";
contact: Jan Huwald // Impressum