我有一个位图我试图旋转270度然后水平翻转。我的第一次尝试看起来像这样。
matrix.postRotate (270);
matrix.postTranslate (bitmap.getWidth (), 0);
bitmap = Bitmap.createBitmap (bitmap, 0, 0, bitmap.getWidth (), bitmap.getHeight (), matrix, true);
这会旋转位图但不会翻转它。然后我尝试了这段代码。
matrix.postRotate (270);
matrix.postScale (-1f, 1f);
bitmap = Bitmap.createBitmap (bitmap, 0, 0, bitmap.getWidth (), bitmap.getHeight (), matrix, true);
它有效。但为什么第一个不起作用呢?不应该翻译用于翻转而不是缩放吗?
答案 0 :(得分:2)
翻译只是将图像移动一定量到另一个地方。它没有翻转它。这就像在桌子上移动一张纸。
另一方面,沿一个轴缩放系数-1会翻转此轴的方向。