2009-08-06 3 views
0

Clox beantwortete my question wie große Grafiken (z. B. größer als 8191 Pixel) angezeigt werden.Anzeige riesiger, scrollbarer Grafiken in Flex, Teil 2: BitmapData in ein Bild?

Ich habe den Code zum Kopieren von Teilen einer großen geladenen BitmapData auf ein Ziel BitmapData, die nur die Größe ist, die ich anzeigen kann.

Ich glaube, ich habe die Bildlaufleisten eines umschließenden Canvas festgelegt, um die Größe des größeren Bildes anzuzeigen und dem Benutzer das Scrollen zu ermöglichen.

Jetzt muss ich die ausgewählten Pixel auf dem Bildschirm platzieren. Wenn ich versuche, eine Bitmap-Komponente als untergeordnetes Element des Canvas-Bereichs hinzuzufügen, wird ein Fehler angezeigt, da es sich bei Bitmap nicht um eine UIComponent handelt.

Was ist der beste Weg, um das Ziel BitmapData in eine Image-Komponente zu setzen?

Wie sonst kann ich die Teilmenge der Pixel auf dem Bildschirm bekommen?

Antwort

1

Um ein BitmapData Objekt anzuzeigen, verwenden Sie die Klasse Bitmap. Dann können Sie die Bitmap als Quelle für ein Bild festlegen.

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

Sie können auch direkt auf das Graphics Ziel der Leinwand mit beginBitmapFill die Pixel des Bitmap-Daten zeichnen.

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