알파 채널이있는 BitmapData 객체가 있습니다. ActionScript3 (FlashPlayer10)에서 알파 채널을 오프셋하는 방법을 알고 싶습니다. 오프셋을하면 색상 채널을 그대로두고 한 방향 (이미지 테두리를 감싼다)으로 그 채널의 모든 픽셀을 이동시키는 것을 의미합니다.BitmapData 객체의 단일 채널을 변환합니다.
하나의 채널에만 이러한 변환을 적용하는 좋은 방법이 있습니까?
알파 채널이있는 BitmapData 객체가 있습니다. ActionScript3 (FlashPlayer10)에서 알파 채널을 오프셋하는 방법을 알고 싶습니다. 오프셋을하면 색상 채널을 그대로두고 한 방향 (이미지 테두리를 감싼다)으로 그 채널의 모든 픽셀을 이동시키는 것을 의미합니다.BitmapData 객체의 단일 채널을 변환합니다.
하나의 채널에만 이러한 변환을 적용하는 좋은 방법이 있습니까?
나는이 문제를 어떻게 해결할 것인가하는 것은 원래의 bitmapData 객체의 clone()을 만드는 것이라고 생각한다. 원본을 그대로 둡니다. 클론을 사용하여 원하는대로 모든 픽셀을 이동하십시오. "캐리 스크롤"은 없지만 너무 열심히하지는 않습니다. 여기에 하나 몇 가지 코드,하지만 당신은 한 방향으로 만 할 경우 당신은 그것을 많이 단순화 할 수 있습니다 :
http://www.actionscript.org/forums/showthread.php3?p=767722
스크롤 한 후, 다시 원래로 스크롤 클론에서 알파 채널을 복사() copyChannel를 사용합니다.
이러한 종류의 작업에는 Adobe PixelBender를 사용하거나 ActionScript에서 수동으로 getVector/setVector를 사용하여 작성합니다. 그러나 모든 색상은 미리 곱한 알파로 저장되기 때문에 알파 채널을 이동하는 것은 좋지 않은 생각처럼 들립니다.
즉, 정밀도가 계속 저하됩니다.
흠, 이전에 곱해진 알파 트릭에 대해 들어 본 적이 없습니다. 그것을 지적 주셔서 감사합니다. 정말 성능에 많은 도움이되는지 궁금합니다. 비트 맵을 수정할 때 논쟁의 여지가있는 트레이드 오프와 같이 보입니다. 왜냐하면 비트 맵을 사용하면 비트 맵이 훨씬 비싸게됩니다 ... – BuschnicK
감사합니다, 아름답게 작동합니다. – BuschnicK