安卓开发

安卓实现图片镜像翻转(水平和垂直)

2020-09-19  本文已影响0人  蓝不蓝编程

效果图

原图
水平翻转
垂直翻转

代码

private fun toHorizontalMirror(bmp: Bitmap): Bitmap {
    val w = bmp.width
    val h = bmp.height
    val matrix = Matrix()
    matrix.postScale(-1f, 1f) // 水平镜像翻转
    return Bitmap.createBitmap(bmp, 0, 0, w, h, matrix, true)
}

private fun toVerticalMirror(bmp: Bitmap): Bitmap {
    val w = bmp.width
    val h = bmp.height
    val matrix = Matrix()
    matrix.postScale(1f, -1f) // 垂直镜像翻转
    return Bitmap.createBitmap(bmp, 0, 0, w, h, matrix, true)
}

调用样例:

imageView.setImageBitmap(toHorizontalMirror(imageView.drawable.toBitmap()))
imageView.setImageBitmap(toVerticalMirror(imageView.drawable.toBitmap()))

完整源代码

https://gitee.com/hspbc/imageMirror

上一篇 下一篇

猜你喜欢

热点阅读