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
图像大小调整有问题。看起来平滑不起作用或代码中缺少某些内容。也许矩阵应该有更多的东西?
原图:
http://imageshack.us/a/img28/4784/dc7f2ec4b0f3323cdc4e01e.jpg
结果是:
http://imageshack.us/a/img855/4784/dc7f2ec4b0f3323cdc4e01e.jpg
我可以链接一堆其他图像。存在一些奇怪的像素配置。它可以以某种方式修复吗?
我已经测试了 jpeg 质量 100% 和 stage.quality='best',但它们都没有提供所需的质量结果。