2010-11-18 6 views
0

Wie ich es von this article lesen kann, beträgt die maximale quadratische Bitmap, die Flash verarbeiten kann, 4.095 x 4.095 (was 16.769.025 Pixel ergibt und bla-bla-bla). Also, sie sagen, wenn ich versuche, 4.096 x 4.096 zu gehen, werde ich versagen. Aber ich habe versucht, ein Bitmap-Bild 4.096 x 4.096 zu laden und anzuzeigen, und es hat gut funktioniert. Dann probierte ich sogar ein Bild in der Größe 5000 x 5000, und das war auch in Ordnung. Was versteh ich nicht? Was sind die tatsächlichen Grenzen und wie berechnet man sie?Was sind die tatsächlichen Grenzen einer Bitmap im Flash?

Antwort

0

Ich denke, diese Grenzwerte beziehen sich auf das, was Sie in Flash über die Bitmap-Klasse erstellen können, nicht das, was Sie kann extern laden ... aber ich könnte falsch liegen.

+0

Ja, Sie können alles aus dem Netz über einen Loader \ URLLoader \ Socket laden, aber Sie können die Daten nicht in ein BitmapData laden, wenn die Größe die Grenzen überschreitet, die BitmapData-Objekte haben. also, wenn Sie versuchen, eine 5000000x400000500450004 breite Bitmap zu laden, können Sie, aber Sie können nichts damit tun (es sei denn, Sie teilen es) – pigiuz

+0

@pigiuz, wie teilen Sie ein Bild dieser Größe? – zzzzBov

+1

@zzzzBov muss es in einem Raw-Format sein (oder mit zlib komprimiert). Wenn Sie es laden (über Urlader oder Socket) teilen Sie das resultierende Bytearray in Stücke und Sie können einige vorgenerierte Bitmapdaten mit ihnen füllen. Beispiel: Sie laden a 5120x5120 rohe 24bits img. Sie laden es über den Urlader und erhalten seinen Bytearray. Dann erstellen Sie n Bitmapdata-Kacheln (10x10 512px-Seite) und n Bytearrays (512x512 * 4). Dann durchlaufen Sie den gesamten Schritt und legen die gelesenen Daten in das Bytearray, das der richtigen Kachel zugeordnet ist. Schließlich radeln Sie alle Kacheln und rufen setPixels für jeden von ihnen auf und übergeben den zugehörigen Puffer als Argument – pigiuz

Verwandte Themen