android - 如何将位图旋转45度

标签 android matrix bitmap rotation

如何旋转 位图 45度?

Matrix matrix = new Matrix();
matrix.postRotate(degrees);
mBitmapFirst = Bitmap.createBitmap(mBitmapFirst, 0, 0, mBitmapFirst.getWidth(), mBitmapFirst.getHeight());
mImageFirstView.setImageBitmap(mBitmapFirst);

我使用了这个方法,但只有当 rotation 90 degrees

时它才有效

最佳答案

你可以用这个例子旋转 45 度:

Matrix minMatrix = new Matrix();
//height and width are set earlier.
Bitmap minBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas minCanvas = new Canvas(minBitmap);

int minwidth = bitmapMin.getWidth();  
int minheight = bitmapMin.getHeight();
int centrex = minwidth/2;
int centrey = minheight/2;

minMatrix.setRotate(mindegrees, centrex, centrey);
Bitmap newmin = Bitmap.createBitmap(minBitmap, 0, 0, (int) minwidth, (int) minheight, minMatrix, true);

minCanvas.drawBitmap(newmin, (centrex - newmin.getWidth()/2), (centrey - newmin.getHeight()/2), null);
minCanvas.setBitmap(minBitmap);

其中 mindegree 是你的旋转度数,

希望对你有帮助

关于android - 如何将位图旋转45度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31451712/

相关文章:

java - 将 RGB 整数数组转换为位图

Android:如何在不加载完整位图的情况下即时将流式图像渲染到 ImageView?

javascript - 如何使用 jQuery Mobile 从网站获取数据来构建应用程序 apk?

c - 求解使 5x5 对称矩阵奇异所需的值

c++ - GLM 矩阵中的旋转方向,使用四元数

c++ - GeneralizedEigenSolver 不在特征库中给出特征向量

C# 位图绘图不呈现到屏幕

android - 在 Android 中同时处理多个 View 的触摸事件

android - 由于 JIT,BouncycaSTLe AES 256 多线程解密速度下降

java - 如何在使用 TabHost 创建的 Android 中仅显示选定的选项卡布局