关闭

画面倒置的实现(通过Bitmap图像旋转)

标签: androidbitmap
833人阅读 评论(0) 收藏 举报
分类:

在项目中要实现一个播放画面的倒置,播放画面是通过解码后用Bitmap展示的,所以我通过图像旋转180°来实现。

在项目中定义一个Flag,来判定是否需要倒置。通过rotateBitmap()函数还可以实现任意角度的旋转。

//在播放画面View控件的OnDraw()方法中,加入下面的语句,通过isInvert判断是否倒置
//其中VideoBitmap存放的是解码得到的画面信息
if (isInvert == true) {
	VideoBitmap = rotateBitmap(VideoBitmap, 180);
}
//后面是对图片进行处理展示的代码,省略...

//实现函数:
public Bitmap rotateBitmap(Bitmap bitmap, int degrees) {
	if (degrees != 0 && bitmap != null) {
		Matrix matrix = new Matrix();
		matrix.setRotate(degrees, (float) bitmap.getWidth()/2,
				(float) bitmap.getHeight()/2);
		try {
			Bitmap tempBm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
					bitmap.getHeight(), matrix, true);
			if (bitmap != tempBm) {
				// bitmap回收
				bitmap.recycle();
				bitmap = tempBm;
			}
		} catch (Exception e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
	return bitmap;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7904次
    • 积分:121
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档