Last active
December 15, 2015 23:09
-
-
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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