ActionScript
그림 외각선 따기...
미나토
2007. 6. 22. 17:20
import com.minarto.color.GetRGB;
var bd:BitmapData = new BitmapData(mc1.width, mc1.height, false);
bd.draw(mc1);
bd.draw(mc1);
var new_bd:BitmapData = new BitmapData(mc1.width, mc1.height, false);
var dif:uint = 15;
for(var i:uint=0; i<mc1.height; i++)
{
for(var j:uint=0; j<mc1.width; j++)
{
var getRGB:GetRGB = new GetRGB(bd.getPixel(j, i));
var color_array:Array = [bd.getPixel(j - 1, i - 1), bd.getPixel(j, i - 1), bd.getPixel(j + 1, i - 1), bd.getPixel(j - 1, i), bd.getPixel(j + 1, i), bd.getPixel(j - 1, i + 1), bd.getPixel(j, i + 1), bd.getPixel(j + 1, i + 1)];
for(var k:uint=0; k<8; k++)
{
var ngetRGB:GetRGB = new GetRGB(color_array[k]);
if(Math.abs(ngetRGB.r - getRGB.r) > parseInt(dif + "0000", 16) || Math.abs(ngetRGB.g - getRGB.g) > parseInt(dif + "00", 16) || Math.abs(ngetRGB.b - getRGB.b) > parseInt(dif + "", 16))
{
new_bd.setPixel(j, i, 0);
}
else
{
new_bd.setPixel(j, i, 0x00FFFFFF);
}
}
}
}
for(var i:uint=0; i<mc1.height; i++)
{
for(var j:uint=0; j<mc1.width; j++)
{
var getRGB:GetRGB = new GetRGB(bd.getPixel(j, i));
var color_array:Array = [bd.getPixel(j - 1, i - 1), bd.getPixel(j, i - 1), bd.getPixel(j + 1, i - 1), bd.getPixel(j - 1, i), bd.getPixel(j + 1, i), bd.getPixel(j - 1, i + 1), bd.getPixel(j, i + 1), bd.getPixel(j + 1, i + 1)];
for(var k:uint=0; k<8; k++)
{
var ngetRGB:GetRGB = new GetRGB(color_array[k]);
if(Math.abs(ngetRGB.r - getRGB.r) > parseInt(dif + "0000", 16) || Math.abs(ngetRGB.g - getRGB.g) > parseInt(dif + "00", 16) || Math.abs(ngetRGB.b - getRGB.b) > parseInt(dif + "", 16))
{
new_bd.setPixel(j, i, 0);
}
else
{
new_bd.setPixel(j, i, 0x00FFFFFF);
}
}
}
}
var bm:Bitmap = new Bitmap(new_bd);
addChild(bm);
addChild(bm);
bm.x = mc1.width;
재미있는 Bitmap 놀이~