Skip to content

Instantly share code, notes, and snippets.

@mems
Last active December 15, 2015 23:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mems/5338017 to your computer and use it in GitHub Desktop.
Save mems/5338017 to your computer and use it in GitHub Desktop.
Add support of load an image in http://www.rw-designer.com/online-cursor-editor tool (Make CUR file)
/*
Make CUR file using online editor, with basic support of load an image
http://www.rw-designer.com/online-cursor-editor
Require image file to base64 string convertion tool like:
http://www.motobit.com/util/base64-decoder-encoder.asp
*/
//------------
// Define draw position
var x = 0;
var y = 0;
// Define canvas size 32 × 32
var canvasWidth = 32;
var canvasHeight = 32;
var format = "image/png";
// Define image base64
var data = //"iVBORw0KGgoAAAANSUhEUgAAAAsAAAAaCAYAAABhJqYYAAAAbUlEQVR42mNgQAOeC3b8h2EGQmBU8ajioawYKLgJWQEevAmkWAGIvxJQCJJXgJleSUBxJbJTWIH4Gg6F14GYDd3tDkD8D00hiO+IKyQWoylegi/YxIH4PVQhiJYgFM5ZUMVZxEQKMxBPB9HocgARnh3leFIWmgAAAABJRU5ErkJggg=="
//"iVBORw0KGgoAAAANSUhEUgAAAAsAAAAaCAYAAABhJqYYAAAAbUlEQVR42mNgQAN6rVb/YZiBEBhVPKp4KCsGCm5CVoAHbwIpVgDirwQUguQVYKZXElBciewUViC+hkPhdSBmQ3e7AxD/Q1MI4jviConFaIqX4As2cSB+D1UIoiUIhXMWVHEWMZHCDMTTQTS6HABLqs2uDLgrlgAAAABJRU5ErkJggg=="
//"iVBORw0KGgoAAAANSUhEUgAAAAsAAAAaCAYAAABhJqYYAAAAbUlEQVR42mNgQAOv0zj+wzADITCqeFTxUFYMFNyErAAP3gRSrADEXwkoBMkrwEyvJKC4EtkprEB8DYfC60DMhu52ByD+h6YQxHfEFRKL0RQvwRds4kD8HqoQREsQCucsqOIsYiKFGYing2h0OQAUJ/3GEXDEHgAAAABJRU5ErkJggg=="
"iVBORw0KGgoAAAANSUhEUgAAAAsAAAAaCAYAAABhJqYYAAAAbUlEQVR42mNgQAP9Zi//wzADITCqeFTxUFYMFNyErAAP3gRSrADEXwkoBMkrwEyvJKC4EtkprEB8DYfC60DMhu52ByD+h6YQxHfEFRKL0RQvwRds4kD8HqoQREsQCucsqOIsYiKFGYing2h0OQA5PiOv+GamsAAAAABJRU5ErkJggg=="
//"iVBORw0KGgoAAAANSUhEUgAAAAsAAAAaCAYAAABhJqYYAAAAbUlEQVR42mNgQAOH12r/h2EGQmBU8ajioawYKLgJWQEevAmkWAGIvxJQCJJXgJleSUBxJbJTWIH4Gg6F14GYDd3tDkD8D00hiO+IKyQWoylegi/YxIH4PVQhiJYgFM5ZUMVZxEQKMxBPB9HocgBlExs5LfZeRAAAAABJRU5ErkJggg=="
//------------
//------------
var img = document.createElement("img");
img.src = "data:" + format + ";base64," + data;
var canvas = document.createElement("canvas");
canvas.width = canvasWidth;
canvas.height = canvasHeight;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, x, y);
var imageData = ctx.getImageData(0, 0, canvasWidth, canvasHeight);
var imageWidth = imageData.width;
var imageHeight = imageData.height;
var rawPixels = imageData.data;
var numPixels = imageWidth * imageHeight;
var argb;
for(var i = 0; i < numPixels; i++){
//32bits RGBA to ARGB
argb = rawPixels[i * 4] << 16;//R
argb |= rawPixels[i * 4 + 1] << 8;//G
argb |= rawPixels[i * 4 + 2];//B
argb |= rawPixels[i * 4 + 3] << 24;//A
OCE_replacepixel(i, argb);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment