android 画布旋转,Android-在安卓开发中,如何实现一个简单的图片旋转
圖像的旋轉有很多方法,除了常見的使用動畫和矩陣,還可以通過操作背景畫布本身來旋轉
現將正常的圖像繪制到畫布中,保存一次畫布后整體旋轉,然后再恢復畫布,此時的圖像便得到了旋轉的效果,google 官方也推薦使用這種方式來旋轉圖像,效率也高于矩陣旋轉,而且相比之下,畫布的旋轉不容易失真,這一點是非常重要的。
附上實例代碼:
// [Neo] 將需要的圖像繪制到畫布上面
canvas.drawBitmap(picture, 0, 0, null);
// [Neo] 保存一下當前畫布,很重要哦
canvas.save();
// [Neo] 旋轉 angle 度,起始座標為 0, 0
canvas.rotato(angle, 0, 0);
// [Neo] TODO 做些你需要的其他操作
// ...
// [Neo] 恢復畫布
canvas.restore();
若不是在派生的 View 類重寫的 onDraw 方法來修改畫布的話,其實還可以通過代碼直接繪制一個bitmap對象,可參考:
// [Neo] 創建一個空白的 Bitmap,需要指定長和寬哦
Bitmap bitmap = Bitmap.createBitmap(width, height,
rawable.getOpacity() != PixelFormat.OPAQUE ?
Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
// [Neo] 直接拿上面的 Bitmap 作為畫布的原材料
Canvas canvas = new Canvas(bitmap);
// [Neo] 然后在畫布上面繪制你需要的東東,如果需要旋轉,可套用上面的方法
// [Neo] ...
// [Neo] 最后拿著 bitmap 去填充控件就是啦,比如 ImageView
imageView.setImageBitmap(bitmap);
祝好,
斑駁敬上
總結
以上是生活随笔為你收集整理的android 画布旋转,Android-在安卓开发中,如何实现一个简单的图片旋转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言解一维波动方程,python绘制一
- 下一篇: android进度条课设报告,Andro