summaryrefslogtreecommitdiff
path: root/src/imageutils-lodepng.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-03-06 18:08:31 (GMT)
committerMarius Kintel <marius@kintel.net>2013-03-06 18:08:31 (GMT)
commitcfc67f928fc86310614940f126d9f6c76d4e9ea7 (patch)
tree162be7579d3acd0eeb5b7b509ef9a0b428d6831f /src/imageutils-lodepng.cc
parentfe44758f5096be0e98c82d2cb0d54bdeffc4403a (diff)
parent974abf13049d5e73227418e3990af8a9bbf9db09 (diff)
Merge branch 'master' of github.com:openscad/openscad
Diffstat (limited to 'src/imageutils-lodepng.cc')
-rw-r--r--src/imageutils-lodepng.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/imageutils-lodepng.cc b/src/imageutils-lodepng.cc
new file mode 100644
index 0000000..cd104d6
--- /dev/null
+++ b/src/imageutils-lodepng.cc
@@ -0,0 +1,17 @@
+#include "imageutils.h"
+#include "lodepng.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <vector>
+#include <iterator>
+#include <algorithm>
+
+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);
+ if ( err ) return false;
+ output.write( reinterpret_cast<const char *>(&dataout[0]), dataout.size());
+ if ( output.bad() ) std::cerr << "Error writing to ostream\n";
+ return output.good();
+}
contact: Jan Huwald // Impressum