Skip to content

Instantly share code, notes, and snippets.

@yuiAs
Created April 3, 2014 12:15
Show Gist options
  • Select an option

  • Save yuiAs/dd3688d211c328ae705b to your computer and use it in GitHub Desktop.

Select an option

Save yuiAs/dd3688d211c328ae705b to your computer and use it in GitHub Desktop.
SWF DefineBitsLossles*のfmt=5で取得したARGBからcanvasを作成
util.createBitmapFromARGB = function(data, w, h) {
// drawImage, getImageData, putImageDataは doubleを取るので整数化する
// 仮キャンバス作成,描画
var canvas = document.createElement("canvas");
canvas.width = w;
canvas.height = h;
var ctx = canvas.getContext("2d");
var d = ctx.getImageData(0|0, 0|0, canvas.width, canvas.height);
var p = d.data;
for (var i=0; i < p.length; i+=4) {
// ARGBを RGBAにする
var a = data[i];
p[i] = (data[i+1] * a / 255) >> 0;
p[i+1] = (data[i+2] * a / 255) >> 0;
p[i+2] = (data[i+3] * a / 255) >> 0;
p[i+3] = a;
}
ctx.putImageData(d, 0|0, 0|0);
return canvas;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment