2012-09-22 3 views
0

에 필터와 BitmapImage 변환 나는 BitmapImage을 가지고 있고 나는 그것에 ShaderFilter 적용 :의 BitmapData

  var bm:BitmapImage = new BitmapImage(); 
      bm.source = resizedBitmapData; 
      bm.filters = [filter]; 

내가 오버레이로 더 큰 이미지로 bitmapImage 복사 시도 :

  bm.addEventListener(FlexEvent.READY, function (event:*):void { 
       var bmd:BitmapData = bm.bitmapData; 
       backgroundBitmap.bitmapData.copyPixels(bmd, 
        new Rectangle(0, 0, bmd.width, bmd.height), 
        location);   
      }); 

그것은 일을하지만, "bmd"에 포함 된 것은 필터가 적용되기 전의 원본 이미지입니다. 내가 원했던 것은 필터를 적용한 후에 결과 이미지를 집어 넣는 것입니다. 이것이 가능한가?

ImageSnapshot.captureBitmapData()를 시도했지만 BitmapImage가 IBitmapDrawable 인 것처럼 보입니다.

답변

1

나는 스프라이트에 추가 시도하고 당신의 방법이 allready 작동하지 않는 경우 다음 스프라이트 렌더링 것 ...

뭔가

var helper:Sprite = new Sprite(); 
helper.addChild(bm); 
var bmd:BitmapData = new BitmapData(bm.width,bm.height); 
bmd.draw(helper); 
backgroundBitmap.bitmapData.copyPixels(helper, 
     new Rectangle(0, 0, helper.width, helper.height),location); 

가 가지고있는 것처럼 어쨌든 필터 적용 및 렌더링되고 확인 원하는 결과를 얻었습니까? ;)

+0

attrib "helper.bitmapData"가 존재하지 않는 것 같습니다. yup 필터는 화면에 표시 될 때 잘 작동합니다. 필터는 ShaderFilter입니다. – StephenNYC

+0

죄송합니다. 빠른 샷 .. draw() 메소드는 – Sidrich2009

+1

btw를 사용해야합니까? displayobject를 사용하지 않는 이유가 무엇입니까? – Sidrich2009