2009-07-31 8 views
3

私は利用可能な表示領域より大きくなる画像ファイル(jpg、png、gif)を表示しようとしています。私は(スクロールするために)cCanvasの中にImageを埋め込んだが、大きな画像は完全には表示されない。Imageに巨大なスクロール可能な画像を表示しますか?

非常に大きな画像(2480 x 3507など)は、画像の上部または上部と下部がスクロール画像で切り取られます。

mx.controls.Imageを使用して表示できる最大のグラフィックは何ですか?

おかげ

答えて

5

2880ピクセルの制限はBitmapDatasで、DisplayObjectsの制限は8191ピクセルです。 ここで使用できるBitmapDataUnlimitedクラスを使用してこれらの制限を回避することができます:http://code.google.com/p/bitmapdataunlimited/

ただし、パフォーマンスが重要な場合は、大きな画像を複数の小さな画像で構成することをおすすめします。これらの小さいものを再利用したり、displayListから削除したり、visibleプロパティをfalseに設定したりしても、フラッシュは自動的にステージ外にあることを検出してパフォーマンスを向上させますレンダリングされる。

編集:私は手動BitmapDatasを作成するとき2880px制限のみ適用されるという忘れ

、より大きな画像は依然としてにロードすることができ、そして(2880pxより大きいている)、そのBitmapDatasにアクセスし操作することができます。

viewportBitmapData.copyPixels(sourceBitmapData, new Rectangle(x,y,viewportWidth, viewPortHeight), new Point(0,0)) 

スクロール、あなたは各フレーム 上やパフォーマンス場合は、上記の操作を行うだけでできます。大規模なビューポートとして、その後、あなたのような何かをすることによって、そののBitmapDataを設定することができますよう あなたは簡単にBitmapDataとビットマップを持つことができますScrollingDistanceがviewportSizeより小さい場合は、viewportBitmapData.scroll(x、y)を使用してbitmapData全体をシフトし、新しいピクセルのみをコピーすることができます。

+0

をもらえIを画像全体を_load_し、手動でスクロールバーを設定し、ビューポートに収まる画像データの領域だけをスクロールバーでオフセットします。 –

4

私は制限が限界が高くなっているフラッシュ10のフラッシュ9の寸法あたり2880個のピクセルであることを読みました。コンパイルするバージョンを確認してください。

画像を小さな部分にチョップし、Flexで組み立てる可能性があります。

0

あなたが標的にされているのFlashPlayer違います場合:

バージョンVS最大BITMAPSIZE

のFlashPlayer -9:2880x2880ピクセル
のFlashPlayer 10:4096×4096ピクセル
のFlashPlayer 11:無制限

関連する問題