summaryrefslogtreecommitdiff
path: root/test/fixtures/sprites/convert_sprite.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/fixtures/sprites/convert_sprite.js')
-rw-r--r--test/fixtures/sprites/convert_sprite.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/fixtures/sprites/convert_sprite.js b/test/fixtures/sprites/convert_sprite.js
new file mode 100644
index 0000000000..ba4ff5c29f
--- /dev/null
+++ b/test/fixtures/sprites/convert_sprite.js
@@ -0,0 +1,19 @@
+// Converts a PNG image to a custom "image format" that has a uint32_t width/height prefix and then
+// raw RGBA data. We can't use the built-in PNG reading routines because they are reading
+// premultiplied images by default.
+
+var fs = require('fs');
+var zlib = require('zlib');
+var PNG = require('png-js');
+var png = PNG.load('styles/sprites/bright.png');
+png.decodePixels(function(data) {
+ var result = new Buffer(8 + data.length);
+ result.writeUInt32BE(png.width, 0);
+ result.writeUInt32BE(png.height, 4);
+ data.copy(result, 8);
+
+ zlib.deflate(result, function(err, data) {
+ if (err) throw err;
+ fs.writeFileSync('test/fixtures/sprites/bright.bin', data);
+ });
+});