3

画像をに保存する方法はSharedObject?アプリケーションの状態を保存するために使用しています。SharedObjectテキストオブジェクトでUIComponent もうまく機能していますが、作成の問題を保存してImageいます。エラーは発生しません。

   userdiagram.imageData = zorder.getItemAt(i) as mx.controls.Image
   userdiagram.x        = (zorder.getItemAt(i)).x;
   userdiagram.y        = (zorder.getItemAt(i) ).y;
   userdiagram.height   = (zorder.getItemAt(i)).height
   userdiagram.width    = (zorder.getItemAt(i)).width

ここで、userdiagramはクラスであり、imageDataは画像型変数です。

4

2 に答える 2

3

sharedObjectに画像を保存するには、byteArrayを使用する必要があります。

あなたはここでそれについてもっと読むことができます:http ://www.kirupa.com/forum/showthread.php?306972-Saving-bitmaps-to-a-shared-object

于 2013-02-18T08:28:29.347 に答える
1

Abhinavによる提案リンクとして画像を保存します:

var data:BitmapData = new BitmapData((zorder.getItemAt(i) as mx.controls.Image).width, (zorder.getItemAt(i) as mx.controls.Image).height);
                data.draw((zorder.getItemAt(i) as mx.controls.Image));
                var encoder:JPGEncoder = new JPGEncoder();
                var bytes:ByteArray = encoder.encode(data);

                userdiagram.x         = (zorder.getItemAt(i)).x;
                userdiagram.y         = (zorder.getItemAt(i) ).y;
                userdiagram.height    = (zorder.getItemAt(i)).height
                userdiagram.width     = (zorder.getItemAt(i)).width
                userdiagram.rotation    = (zorder.getItemAt(i)).rotation
                userdiagram.bytes = bytes;
                saveState.addItem(userdiagram)

しかしsharedObject、画像タイプオブジェクトの作成から画像を取得し、次のコードを使用する場合:

var v:Object = _saveIn.data.value1.readObject();
p.source   = (v as ArrayList).getItemAt(i).bytes;

ここで、pはImageクラスオブジェクトであり、(v as ArrayList).getItemAt(i)バイト配列の場所に保存されます。

于 2013-02-19T11:59:14.940 に答える