알파 채널이있는 두 개의 BitmapData 객체가 있습니다. 알파를 포함하여 각 채널에 대해 max (channel_image_one, channel_image_two)를 사용하여 단일 채널로 결합하고 싶습니다. 이 결과를 얻는 쉬운 방법이 있습니까?Flash : max (채널)를 통해 두 BitmapData 객체 결합
0
A
답변
2
나는 그 방법으로 알파 채널을 병합하는 곧장 앞으로 bitmapdata 방법이 있다고 생각하지 않습니다. RGB는 블렌드 모드를 적용하는 draw()의 도움으로 할 수도 있지만, 샤넬 당 엄격한 최대 값이 필요하다면 작동하지 않을 것이라고 생각합니다.)
게다가이 작업을 수행하려면 PixelBender 덕분에 셰이더를 만들 수 있습니다. 그것은 그러한 종류의 조작을위한 완벽한 도구입니다.
BitmapData.getPixel32()/setPixel32()를 사용하여 PB를 사용하지 않고 픽셀을 하나씩 반복/비교/쓸 수 있으면 속도는 느리지 만 설정은 빠릅니다. 그럴 경우 BitmapData.lock()/unlock()을 사용하여 성능을 향상 시키십시오.
0
LIGHTEN 블렌드 모드와 동일해야하는 최대 (image_one, image_two)를 원한다면.
public function lighten(topPixel:uint, bottomPixel:uint):uint{
return Math.max(topPixel,bottomPixel);
}
당신이 (가) source zip의 제 2 장 폴더에서 파일로 필요한받을 수 있습니다 여기에
는 Foundation ActionScript 3.0 Image Effects에서 조각입니다.- 잠금() 루프에 대한
- 잠금 해제()
또는 PixelBender를 사용하여
사용 테오의 조언. 분명히 Adobe에 따르면 Flash Player 사용자의 90 % 이상이 이미 버전 10을 사용하고 있습니다.