2009-08-06 2 views
0

Clox는 거대한 그래픽 (예 : 8191 픽셀 이상)을 표시하는 방법에 대해 my question에 응답했습니다.Flex에서 거대하고 스크롤 가능한 그래픽 표시, 2 부 : BitmapData를 이미지로?

로드 할 수있는 거대한 BitmapData의 일부를 표시 할 수있는 크기의 대상 BitmapData에 복사하는 코드가 있습니다.

큰 이미지의 크기를 표시하고 사용자가 스크롤 할 수 있도록 둘러싼 캔버스의 스크롤 막대를 설정했다고 생각합니다.

이제 선택한 픽셀을 화면에 표시해야합니다. Bitmap 구성 요소를 Canvas의 자식으로 추가하려고하면 Bitmap이 UIComponent가 아니므로 오류가 발생합니다.

대상 BitmapData를 이미지 구성 요소에 넣는 가장 좋은 방법은 무엇입니까?

그 밖의 다른 방법으로 화면의 픽셀 하위 집합을 가져올 수 있습니까?

답변

1

BitmapData 개체를 표시하려면 Bitmap 클래스를 사용하십시오. 그런 다음 비트 맵을 이미지 소스로 설정할 수 있습니다.

var imageBmp:Bitmap = new Bitmap(myBitmapData); 
var displayImage:Image = new Image(); 
displayImage.source = imageBmp; 
myCanvas.addChild(displayImage); 

또한 직접 beginBitmapFill를 사용하여 캔버스의 Graphics 객체에 비트 맵 데이터의 픽셀을 그릴 수 있습니다.

var g:Graphics = myCanvas.graphics; 
g.beginBitmapFill(myBitmapData); 
g.drawRect(0, 0, myBitmapData.width, myBitmapData.height);