2011-08-25 3 views
0

비트 맵을 소스로 사용하여 이미지를 표시하고 싶습니다. 나는 많은 웹 사이트를 보았고 이것과 비슷한 것을 제안했지만 어떻게 든 그것은 여전히 ​​작동하지 않습니다. 누군가가 도울 수 있기를 바랍니다. 나는 그것이 매우 간단하다는 것을 느낀다. 나는보고 싶지 않다. ...아무도이 코드 스 니펫의 문제점을 알 수 있습니까?

img1 잘된다 ... 그러나 어떤 이유로 img2가로드되지 않는다.

  private function onComplete(event:Event):void{ 
       _bytes = event.target.data; 

       img1.source = _bytes; /*this last bit works*/ 

       _bmpData = new BitmapData(img1.width,img1.height); 

       _bmpData.draw(img1,new Matrix()); 

       _bmp = new Bitmap(_bmpData); 

       img2.source=_bmp; 
     } 
+0

을 img1 및 IMG2있는 개체의 어떤 종류의 ? 나는 어떤 객체가 .source 속성을 가지고 있는지 알지 못한다. 그러나 나는 당신의 문제가 단순히 img2.source가 Bitmap이 아닌 BitmapData가 되어야만한다는 것을 짐작하고있다. – jhocking

+0

그냥 정기적으로 스파크 이미지 ... 나는'img2.source'가 비트 맵보다는 비트 맵 데이터를 받기 위해 코드를 변경했으나 여전히 움직이지 않았다. –

답변

1

img2.source=_bmp; 이미지 컨트롤의 원본 속성에 Bitmap 개체를 전달할 수 없으므로 작동하지 않습니다. documentation :

원본 속성 값은 상대 URL 또는 절대 URL을 나타냅니다. SWF, GIF, JPEG 또는 PNG를 나타내는 ByteArray. IFlexDisplayObject를 구현하는 객체. 형태가 IFlexDisplayObject를 구현하는 클래스. 또는 클래스를 나타내는 String

비트 맵은 DisplayObject입니다이지만, IFlexDisplayObject입니다 구현하지 않기 때문에 대신 Image.source을 사용하면 이미지의 자식으로 비트 맵을 추가 할 수 있습니다

img2.addChild(_bmp); 
+0

흠 ... 시도해 보니 다음과 같이 나타납니다.'addChild()는이 클래스에서 사용할 수 없습니다. 대신 런타임에 addElement()를 사용하거나 스킨을 수정하십시오 (있는 경우). 컴파일시에는 오류가 없습니다. –

+0

Spark에서 Halo Image로 바꿨지 만 여전히 같은 결과가 나타납니다 ... 아무 일도 일어나지 않습니다 ...하지만 오류 메시지가 나타납니다 (위 참조). –

+0

죄송합니다, 나는 Spax가 아니라 mx를보고있었습니다. 대신 _img2에 BitmapImage 인스턴스를 만들어보십시오. 그런 다음 원래대로 할 때 비트 맵을 소스 속성에 전달할 수 있어야합니다. – shanethehat

관련 문제