【发布时间】:2017-03-02 15:31:02
【问题描述】:
我有一个 Imageview,我想在用户单击名为 "Flip Picture" 的按钮时水平翻转图片。并且当用户第二次单击此按钮时,它应该返回到原始状态,换句话说就是翻转回来。
所以它应该重复这种行为。我发现这个有用的代码可以在不使用外部库的情况下翻转图像视图,但不知道如何翻转:
这是代码:
public Bitmap flipImage(Bitmap src, int type) {
// create new matrix for transformation
Matrix matrix = new Matrix();
// if vertical
if(type == FLIP_VERTICAL) {
// y = y * -1
matrix.preScale(1.0f, -1.0f);
}
// if horizonal
else if(type == FLIP_HORIZONTAL) {
// x = x * -1
// unknown type
} else {
return null;
}
// return transformed image
return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);
}
这是我尝试将其应用于名为 FlipImage 的图像视图的方式
Flipimage.setImageBitmap(flipImage(BitmapFactory.decodeResource(getResources(), R.drawable.doom01),2));
【问题讨论】:
-
也许是库? FlipImageView。可以使用NineOldAndroids 移植到较低的 API
-
翻转是一回事。 newScale = -1 * currentScale.