两处可能性:
1、没有将bitmapdata设置成透明的。
2、bitmap.bitmapData.getPixel32(int(i*(bitmap.width/200)),int(j*(bitmap.height/bitmaph)))计算错误。可能已超出原图片的范围,所以获取到的值是0,即是黑色。
建议检测方法:
1、确认bitmapdata已设置成透明,new BitmapData(width,height,true,0);//后面两个参数,true,0是设置透明的。
2、setPixel时,先将原图片的像素全部放到另一个BitmapData中,即相当于复制一次图片,查看保存是否带有黑色。此时,可以将图片添加到舞台中查看一下,确保未保存时,图片是正常的。如果检测正常,那么就可以肯定错误是第二个可能性导致的,此时,检测算法。
否则,就是保存的代码导致问题,故需要检测保存代码。
由于算法比较复杂,且没有具体例子,故无法协助检测。
请使用setPixel32,而不是setPixel,setPixel不带透明,setPixel32带透明