gpt4 book ai didi

android - 关于使用 Canvas.rotate 旋转位图的问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:48 25 4
gpt4 key购买 nike

众所周知,我们可以通过两种方式旋转位图。

第一种方式是:

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();

这样避免了频繁新建位图,但是旋转位图失真,位图质量比第一种方式差。

那么,有没有第三种方法可以实现高性能和高质量的位图旋转呢?

非常感谢您的任何评论!

最佳答案

确保向 canvas.drawBitmap(bitmap, 0, 0, paint) 提供 Paint

不要忘记使用抗锯齿和位图过滤:

paint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);

关于android - 关于使用 Canvas.rotate 旋转位图的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3787005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com