fhu*_*cho 30 android antialiasing android-canvas
这是我画Bitmap上Canvas的我的Android应用:
canvas.save();
canvas.scale(scale, scale, x, y);
canvas.drawBitmap(bitmap, x, y, null);
canvas.restore();
Run Code Online (Sandbox Code Playgroud)
但是,Bitmap没有平滑缩放,不执行抗锯齿.如何启用抗锯齿功能?
Vit*_*nko 74
试试这个:
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
canvas.drawBitmap(bitmap, x, y, paint);
Run Code Online (Sandbox Code Playgroud)
Sil*_*ria 17
无论是对我Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);还是paint.setFilterBitmap(true);为我工作但是要非常小心,在我的游戏中它将FPS从仅减少30FPS到17FPS了.因此,如果它是像游戏中一样的关键任务绘图,则可以在加载时更好地缩放图像.我用以下方式做了什么:
public Bitmap getImage (int id, int width, int height) {
Bitmap bmp = BitmapFactory.decodeResource( getResources(), id );
Bitmap img = Bitmap.createScaledBitmap( bmp, width, height, true );
bmp.recycle();
return img;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42096 次 |
| 最近记录: |