水平或垂直翻转位图图像

通过使用这个代码,我们可以旋转图像

public static Bitmap RotateBitmap(Bitmap source, float angle) { Matrix matrix = new Matrix(); matrix.postRotate(angle); return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); } 

但是,我们怎样才能水平或垂直翻转图像?

Solutions Collecting From Web of "水平或垂直翻转位图图像"

给定cx,cy是图像的中心:

翻转x:

 matrix.postScale(-1, 1, cx, cy); 

翻转y:

 matrix.postScale(1, -1, cx, cy); 

它关于你使用的matrix。 要绕x轴翻转,请使用[[-1,0],[0,1]]。 对于y轴,使用[[1,0],[0,-1]]。 这里重要的是行列式的绝对值是1,所以它不会缩放。 而且 – 基本上颠倒了给定轴周围的位置。