As we know, we can rotate a bitmap through 2 ways.
The 1st way is:
Matrix mt = new Matrix();
mt.postRotate(degree);
Bitmap bitmap = CreateBitmap(src, 0, 0, w, h, mt, true);
canvs.drawBitmap(bitmap, 0, 0, paint);
In this way, we always need create new bitmap for every rotation, it
is not good way for high performance game or app.
The 2nd way is:
canvas.save();
canvas.rotate(degree);
canvas.drawBitmap(bitmap, 0, 0, paint);
canvas.restore();
In this way, we avoid creating new bitmap frequently, but the rotation
bitmap is distortion, the bitmap quality is worse than first way.
So, Is there 3rd way to rotate bitmap with high performance and good
quality?
Your any comments are really appreciated!
views:
48answers:
1
A:
If you really want high speed graphical applications (even 2D) you should use OpenGL on Android.
I believe Replica Island uses OpenGL and VBO's (where available) for rendering it's 2D scene. But I can't find a reference.
MrSnowflake
2010-09-24 13:00:19
Thanks a lot! I've think about GL before but I don't want to use it since my app is not a game just a application.
2010-09-24 13:58:38