如我们所知,我们可以通过2种方式旋转位图。使用Canvas.rotate旋转位图的问题
的第一个方法是:
Matrix mt = new Matrix();
mt.postRotate(degree);
Bitmap bitmap = CreateBitmap(src, 0, 0, w, h, mt, true);
canvs.drawBitmap(bitmap, 0, 0, paint);
通过这种方式,我们总是需要为每个旋转创建新的位图,它不是为高性能游戏或应用程序的好方法。
的第二个方法是:
canvas.save();
canvas.rotate(degree);
canvas.drawBitmap(bitmap, 0, 0, paint);
canvas.restore();
这样,我们避免频繁创建新的位图,但旋转位图是失真,位图质量比第一种方式更糟糕。
那么,有没有第三种方式来高性能和高质量旋转位图?
您的任何意见都非常感谢!
非常感谢!我之前已经考虑过GL,但我不想使用它,因为我的应用程序不仅仅是一个应用程序。 – user457210 2010-09-24 13:58:38