2010-11-18 13 views
1

Ich lade und zeige ein großes Bild sagen 6000 x 6000 Pixel mit einem Bild-Tag. Ich wollte einen Schnappschuss des Bildes machen. Aber die maximale Grenze, die ich bekomme, ist 2880 px mit Flex 4, Flash Player 10. Hat sich die Grenze von FP 10 nicht auf 4096 px erhöht? Warum bekomme ich dann 2880? Gibt es eine Möglichkeit, diese Größe zu erhöhen? Oder irgendeine andere Methode, die Sie vorschlagen?
Danke.ImageSnapshot für größere Bilder im Flex-Limit auf Größe

Antwort

2

Sie können es in mehreren BitmapDatas und afaik in einem ByteArray speichern.

+0

Teilung und das Verschmelzen wenn auch nicht sehr fruchtbar ist. – boring

0

Sie die Methodensignatur beachten Sie: public static function captureImage (Quelle: * dpi: Number = 0, Geber: IImageEncoder = null, scalelimited: Boolean = true): Imagesnapshot

Also, Sie haben versucht: mySnapshot: ImageSnapshot = ImageSnapshot.captureImage (mySource, 200, mx.graphics.codec.JPEGEncoder, false);

Hinweis der letzte Parameter == false, scalelimited zu deaktivieren ...

1

Imagesnapshot-Klasse verwendet Bitmapdata-Klasse ein Bitmap-Bild Ihres Screenshot zu erstellen, bevor Sie ins PNG oder JPEG konvertiert.

Bis zum Flash Player 9 war die BitmapData-Klasse auf 2880 Pixel begrenzt. Aber seit Flash Player 10 ist die Grenze höher (etwa 8000 Pixel für Höhe oder Breite).

Aber der ImageSnapshot wurde nicht aktualisiert.

Hier erkläre ich eine Abhilfe:

http://weflex.wordpress.com/2013/03/06/imagesnapshot-and-bitmapdata-size-limit/

So weit ich gehen kann, bis 4650pixels/

+0

Ich denke, mit der neuesten Version des Flash-Player wird diese Einschränkung entfernt. Nicht sicher, da ich in diesen Tagen nicht viel auf Flash-Plattform arbeite. – boring

+0

Leider wurde diese Einschränkung nicht entfernt. –