as3 抠图、选取透明区域
来源:互联网 发布:多组数据拟合一条曲线 编辑:程序博客网 时间:2024/05/13 19:13
Bitmap:位图对象,对所有加载的外部图片均可以转换成位图对象再加载显示
BitmapData:对位图的所有像素的信息以数据的形式保存在BitmapData对象中,其中构造方法第三个参数transparent用来控制位图的透明度,默认为true,表示支持各个像素有不同透明值
import flash.display.Shape;
import flash.display.Sprite;
var bt:BitmapData = new BitmapData(200,100,false,0xcccccc);
var bit:Bitmap = new Bitmap(bt);
addChild(bit);
trace(bt.getPixel(10,10).toString(16));//cccccc
trace(bt.getPixel32(10,10).toString(16));//ffcccccc其中ff表透明度最大
其中getPixel32前边多的两位是alpha通道信息
同样getPixel,getPixel32,分别对应setPixel()和getPixel32();
------------------------------------------------------------
利用这些方法就能实现抠图和判断透明区域了:代码如下:
package{
importflash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.LoaderInfo;
publicclass Main extends Sprite {
private var a:Loader = new Loader();
public function Main()
{
a.load(new URLRequest("10020601.png"));
a.contentLoaderInfo.addEventListener(Event.COMPLETE, an);
}
private function an(evt:Event):void
{
var hh:BitmapData = newBitmapData(a.content.width,a.content.height,false,0xcccccc);
var kk:Bitmap = new Bitmap(hh);
addChild(kk);
kk.x = 200;
var tu2:Bitmap=Bitmap(a.content as Bitmap);
addChild(tu2);
var yan:uint;
for (var i:uint = 0; i<tu2.width; i++)
{
for (var j:uint = 0; j<tu2.height; j++)
{
yan = (a.content as Bitmap).bitmapData.getPixel32(i, j);
if (yan<=0) //要抠取的颜色
{
tu2.bitmapData.setPixel32(i,j,0xffff0000);
hh.setPixel(i,j,0xff0000);
}
}
}
}
}
}
原图
最终效果
- as3 抠图、选取透明区域
- as3 获取非透明区域
- AS3透明碰撞 自动判别图片透明区域碰撞
- AS3 如何让鼠标不响应透明区域
- as3 操作图片,获取,设置实际像素,扣除透明区域
- as3页游聊天框点击透明区域及普通文本支持寻路方案
- flash解决png透明区域不响应鼠标事件 as3.0
- AS3 纯代码打造不规则遮罩,透明区域不操作
- webbrowser 选取区域
- 鼠标选取ROI区域
- MATLAB鼠标选取ROC区域
- C#绘制透明区域
- Wince 绘制透明区域
- 图片区域透明
- as3 关于加载透明图片
- 关于AS3加载透明图片
- AI如何只选取指定区域内容
- MATLAB手动批量选取感兴趣区域
- 更改struts标签样式——解决textfield等标签自动添加tr td问题
- 养身
- S3C2440 MEMORY CONTROLLER详解
- CSS选择器介绍
- Java内省机制
- as3 抠图、选取透明区域
- 创建函数组
- 彻底解决IE7、IE8、IE9下eWebEditor在线编辑器上按钮无效的解决方法
- xml将现有节点从一个文档复制到另一个文档
- java多线程处理任务【原】
- ABAP列表条件
- SAP表格维护生成器生成数据表维护视图程序
- T-SQL - 访问远程数据库并对其数据表进行操作
- flv网页播放器代码