From d4f71d8ed7a57cddb59dd58ca0b60558a984a2a1 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Tue, 25 Jun 2013 18:53:45 -0600 Subject: Add basic dye tool. --- public/js/mp/resource.js | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'public/js/mp/resource.js') diff --git a/public/js/mp/resource.js b/public/js/mp/resource.js index f348a89..406222a 100644 --- a/public/js/mp/resource.js +++ b/public/js/mp/resource.js @@ -1,7 +1,9 @@ "use strict"; var mp = function(mp) { mp.resource = { - loadImage: loadImage + loadImage: loadImage, + copyImageData: copyImageData, + parseColor: parseColor }; /* @@ -32,5 +34,36 @@ var mp = function(mp) { }; image.src = url; } + + function copyImageData(ctx, src) { + var dst = ctx.createImageData(src.width, src.height); + dst.data.set(src.data); + return dst; + } + + /* + * Parses the given color string into an array of parts + */ + function parseColor(colorString) { + if (colorString[0] == "#") { + colorString = colorString.substring(1); + } + + if (colorString.length == 3) { + var r = colorString[0] + colorString[0]; + var g = colorString[1] + colorString[1]; + var b = colorString[2] + colorString[2]; + return [parseInt(r, 16), parseInt(g, 16), parseInt(b, 16)] + } + + if (colorString.length == 6) { + return [parseInt(colorString.substring(0,2), 16), parseInt(colorString.substring(2,4), 16), parseInt(colorString.substring(4,6), 16)] + } + + // TODO others? + + return null; + } + return mp; }(mp || {}); -- cgit v1.2.3-60-g2f50