var bd:BitmapData=new BitmapData(file.width,file.height);
bd.setPixels(new Rectangle(0,0,file.width,file.height),file.raw);
var scale_x_percents:Number = (w/bd.width);
var scale_y_percents:Number = (h/bd.height);
if(!stretch) {
if(bd.width*scale_y_percents>=w) {
scale_x_percents=scale_y_percents;
}
else if(bd.height*scale_x_percents>=h) {
scale_y_percents=scale_x_percents;
}
}
var matrix:Matrix = new Matrix();
matrix.scale(scale_x_percents,scale_y_percents);
var resizedBd:BitmapData = new BitmapData(Math.floor(bd.width*scale_x_percents), Math.floor(bd.height*scale_y_percents), true, 0x000000);
resizedBd.draw(bd, matrix, null, null, null, true); // true is smoothing option, it will blur sharpened pixels
在調整圖像大小時遇到問題。看起來像平滑不工作或代碼中缺少的東西。也許矩陣應該有更多的東西?Actionscript:使用平滑調整位圖數據大小
原圖:
http://imageshack.us/a/img28/4784/dc7f2ec4b0f3323cdc4e01e.jpg
,它的結果是:
http://imageshack.us/a/img855/4784/dc7f2ec4b0f3323cdc4e01e.jpg
我可以鏈接一羣人的圖像。一些奇怪的像素配置存在。 它可以以某種方式修復嗎?
我測試了jpeg質量100%和stage.quality ='最佳',但沒有一個提供所需的質量結果。
有人嗎?任何提示都可以。 – Somebody 2013-03-14 12:27:11
它對我來說工作正常,而且你的代碼似乎沒問題......不知道該怎麼告訴你(因爲這不應該受平臺或任何其他場景或外部配置的影響)。你確定要添加正確的BitmapData到舞臺嗎? – Cay 2013-03-17 14:13:27
BitmapData是從Loader對象中選取的。來自用戶機器。 – Somebody 2013-03-17 17:51:41