투명도가 설정된 두 개의 BitmapData 객체가 있습니다. 하나는 큰 붉은 색 사각형이고, 다른 하나는 작은 파란색 원입니다.BitmapData를 사용하여 마스크 기능 구현
예를 들어, 빨간색 원 위에 파란색 원을 배치합니다. 흐림 원이있는 빨간색 사각형의 BitmapData에 투명 영역을 만들고 싶습니다. 마스크가 작동하는 것과 유사합니다.
getPixel32() 작업을 사용해 보았지만 속도가 매우 느립니다 (아래 참조). 내가 할 수있는 또 다른 방법이 있니? 감사합니다.
for(var x:int = 0; x < circleBitmapData.width; x++){
for(var y:int = 0; y < circleBitmapData.width; y++){
if(circleBitmapData.getPixel32(x,y) != 0x00000000){
squareBitmapData.setPixel(x,y,0x00000000);
}
}
}
EDIT - 가능한 해결책이 하나 있지만 이상적이지 않습니다. 두 비트 맵을 병합 한 다음 threshold
메서드를 사용하여 특정 값 이상의 픽셀을 투명하게 만들 수 있습니다. 그래서 모든 파란색 픽셀을 투명하게 설정할 수있었습니다. 그러나 투명 영역 주위에 파란색의 얇은 링이 있습니다.
마스크를 사용할 수없는 이유는 무엇입니까? – putvande
블리 팅을하고 있기 때문에 – user1063998