前段时间有个学弟提的一个问题,帮他解决了一下!关于如何生成png的可视区域...
AS3代码
- reDrawPngContent(img_mc);
-
- function reDrawPngContent(png_mc:*):void {
-
- var bitmapData:BitmapData=new BitmapData(png_mc.width,png_mc.height,true,0x000000);
- bitmapData.draw(png_mc);
-
-
-
- png_mc.graphics.beginBitmapFill(bitmapData);
-
- var _width:Number = bitmapData.width;
- var _height:Number = bitmapData.height;
- for (var i:uint=0; i<_width; i++)
- {
- for (var j:uint=0; j<_height; j++)
- {
- if (bitmapData.getPixel32(i,j))
- {
- png_mc.graphics.drawRect(i,j,1,1);
- }
- }
- }
-
- png_mc.graphics.endFill();
- png_mc.removeChildAt(0);
- }
- img_mc.addEventListener(MouseEvent.ROLL_OVER,rollHandler);
- img_mc.addEventListener(MouseEvent.ROLL_OUT,rollHandler);
- function rollHandler(e:MouseEvent):void
- {
- img_mc.filters = (e.type == MouseEvent.ROLL_OVER)?[new GlowFilter()]:[];
- }
下载源文件:
获取PNG不透明区域.fla
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。