2009-09-01 4 views
2

私はそれがピクセル化せずにFlashで画像を拡大しようとしている、私はアップスケーリングしていくつかの品質 を失うことを知っているが、私は6倍大きいか何かを拡張しようとしていないよ:)Flash BitmapDataを使用して画質を落とさずに画像を拡大するにはどうすればよいですか?

私は行列とスケールを使用しようとしましたが、品質はちょうど悪いです...これを行う他の方法はありますか?


はそうここに私のコードは、

var _bmpData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0x00000000); 
var _scale:Number = Math.max(stage.stageWidth/_imageLoad.contentAsBitmap.width, stage.stageHeight/_imageLoad.contentAsBitmap.height) 
var _matrix:Matrix = new Matrix(); 
_matrix.scale(_scale, _scale); 

_bmpData.draw(_imageLoad.contentAsBitmap, _matrix, null, null, null, true); 

var _bmp:Bitmap = new Bitmap(_bmpData, 'always', true); 

だ事は、私が行列を使用していけない場合ということですすべての罰金とピクセル化されていないが、私はスケールする行列を使用する場合、それがピクセル化だ....ですこれを修正する方法はありますか?ありがとう

+0

あなたは質問の文脈を完全に変更しました。答えを受け入れ、AS3の行列とピクセル化のスケーリングに関するより具体的な質問をする必要があります。どちらかというと、この新しいタイトルのタイトルを編集して、より具体的な新しい質問を反映させることができます(以前の編集の回答は無効になります)。 –

+0

あなたはおそらくビットマップデータを必要としません。イメージをローダーでロードする場合、これを行うことができます: ビットマップ(loader.content)。スムージング= true;その他のシナリオでは を確認してください。 http://stackoverflow.com/questions/1058187/rotation-in-flash-causing-image-borders-to-look-pixely-how-to-fix/1058312#1058312 – Cay

答えて

4

スムージングパラメータを持つBitmapDataクラスの描画メソッドを見ることもできます。明らかに、これはイメージをアップレッシングするという固有の問題には役立ちませんが、イメージをわずかに緩和する可能性があります。

関連する問題