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

原创 2013年12月03日 18:00:13

在项目中要实现一个播放画面的倒置,播放画面是通过解码后用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;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

对bitmap进行旋转和镜像操作

Bitmap convert(Bitmap a, int width, int height) { int w = a.getWidth(); int h = a.getHeight(); B...

Android学习笔记之Bitmap位图的旋转

位图的旋转也可以借助Matrix或者Canvas来实现。 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitma...

C#实现Bitmap旋转

Rotate180FlipNone 指定不进行翻转的 180 度旋转。 Rotate180FlipX 指定后接水平翻转的 180 度旋转。 Rotate180FlipXY 指定后接水平翻转和垂直...

android图像处理系列之二--图片旋转、缩放、反转

转自:http://blog.csdn.net/maylian7700/article/details/7071837   注意是反转,不是翻转。贴图: 原图: 处理后: ...

android bitmap(图片)旋转90度

/** *  * @param bitmap * @param orientationDegree 0 - 360 范围 * @return  */ Bitmap adjustPhotoRotati...

Android中canvas rotate中心点问题图解

第一步平移: canvas.translate(200, 100); 第二步旋转90度 (注意:x 和 y 坐标会一同旋转) ...
  • iasxk
  • iasxk
  • 2013-12-19 10:57
  • 9664

图片的旋转: matrix.setRotate(30, bitmap.getWidth()/2, bitmap.getHeight()/2) ;

public class MainActivity extends Activity implements OnClickListener {       priva...

EasyPusher手机直播图像旋转90度后画面重复的问题

本文转自:http://blog.csdn.net/holo_easydarwin/article/details/51147379 最初在做EasyPusher手机直播的时候遇到过一个问题:手机...

EasyPusher手机直播图像旋转90度后画面重复的问题

最初在做EasyPusher手机直播的时候遇到过一个问题:手机竖屏推送直播画面到EasyDarwin然后通过播放器播放视频画面就会逆时针旋转90度,如图:手机横屏的时候不会旋转,这个问题思路其实很简单...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)