ビットマップのスムージングはデフォルトで無効になっているため、フラッシュのジャギーは一般的です (より多くの CPU を使用します)。CameraRoll MediaEvent.SELECT イベントから新しいビットマップを作成することをお勧めします。内部でevent.data
は、どちらがMediaPromise オブジェクトであるかを返す必要があります。file
その中に、画像を見つけることができる読み取り専用のプロパティがあるはずです。
次に、スムージングを使用して新しい画像を作成するだけです。
var img:Bitmap = new Bitmap();
img.bitmapData = file.bitmapData;
img.smoothing = true;
addChild(img);
これまでモバイルでこれを試したことはありませんが、これはよくある問題であり、皆さんが遭遇していると思います。
補遺:
システム ベースのスクリーンショット サービスに問題がある場合は、純粋な AS3 を使用して独自のスクリーンショットを作成できます。ロジックとしては、AS3 はステージのピクセルごとのブロック コピーを実行する必要があります (これにより、画像の平滑化値が考慮されます)。
これを試して:
var myBitmapData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
myBitmapData.draw(stage);