as3 怎么截取位图的透明区域的大小

as3 怎么截取位图的透明区域的大小
2025-04-30 18:20:42
推荐回答(1个)
回答1:

用bitmapData的getPixel32可以得到每个像素的32位颜色信息,分别是A,R,G,B;表示为16进制的为0x12345678,最前面的两位表示透明度值,现在的0x12的表示的alpha值为0x12/0xff即,换算成十进制的话为162/255=0.6左右,所以我们得到一个坐标点上的颜色的透明度是0.6,通过getPixel32()得到的值要取得透明度的值的方式是:
按照var color:uint=0x12345678来算的话,我们要得到0x12以用来判断alpha的大小,只要var al:uint=color>>24 & 0xff,就可得到。
getPixel32是根据坐标来得到的,要得到一张图片的所有像素的透明度值,当然就是通过一个双重循环来得到了。然后我们根据得到的颜色值中的alpha的大小来判断该点像素是否为透明。将透明的像素点的位置放到一个数组里。