2012-10-19 7 views
0

달성하고자하는 것을 설명하겠습니다. 나는 이미지의 일종의 "시대지도"를 만들고 싶다. 이는 효율적으로 모든 화소를 통해 반복하고 호출하지 않고 할 수있는 방법이 될 때마다 프레임BitmapData의 각 픽셀을 증가 시키십시오.

  • 각 화소의 값이 0

로 설정 1.

  • 수정 픽셀 씩 증가한다는 것을 의미 getPixel/setPixel?

    수정 된 픽셀을 재설정하려면 blendModes/colorTransform 조합을 사용하여 bitmapData.draw()을 사용하려고 생각합니다. 예 : 0 colorTransform을 사용하여 모양을 보존하지만 모양을 검은 색으로 만듭니다. 즉, 0x000000입니다.

    그러나 각 픽셀을 1 씩 증가시키는 것은 다소 까다 롭습니다. 모든 0x000001 값을 가진 이미지를 만들 수 있으며 .draw()을 사용하여 각 프레임을 추가 할 수 있지만 BlendMode.ADD은 각 채널을 0xFF에 클립하여 255 개의 다른 나이 값만 허용합니다.

    효율적으로 진행하기위한 제안 사항은 무엇입니까? 전체 이미지에 ColorTransform 또는 ColorMatrixFilter을 적용 할 수 있습니까?

  • 답변

    1

    사용자 정의 PixelBender 필터를 쓰기이 될 것 픽셀 반복보다 훨씬 더 빨리, 더 :

    당신이 이전에 사용한 적이있는 경우이 일부 사용 될 수 있습니다

    http://tv.adobe.com/watch/adc-presents/pixel-bender-custom-filters/

    I PB 자신과 약간 녹슬었지만 더 구체적인 조언을 드릴 수는 없지만 유감 스럽지만 GPU 지원은 사용하기에 충분히 빠름을 의미합니다.

    +0

    답변 해 주셔서 감사합니다. 나는 Haxe를 사용하고있다. 그래서 PixelBender 지원은 다소 의문의 여지가 있습니다. 파란색 채널 만 사용하여 각 프레임에 'blueOffset = 1'이있는 ColorTransform을 적용했습니다. 그래도 255 값으로 제한됩니다. – noio

    관련 문제