【问题标题】:Canvas crop image Android画布裁剪图像 Android
【发布时间】:2020-01-06 13:12:34
【问题描述】:

我使用canvas 来创建一个圈子。现在我想将该圆圈导出为 png 文件,删除圆圈以外的所有内容并获取圆圈中的内容。注意我有 2 个框架在彼此之上。

【问题讨论】:

    标签: android canvas crop


    【解决方案1】:

    您可以使用 Android PorterDuffMode 做到这一点 这是代码

    private fun crop(bitmapImage: Bitmap): Bitmap {
        val bitmap = Bitmap.createBitmap(
                bitmapImage.width,
                bitmapImage.height,
                Bitmap.Config.ARGB_8888
        )
        val canvas = Canvas(bitmap)
        val paint = Paint(Paint.ANTI_ALIAS_FLAG)
        canvas.drawCircle(100.0f, 100.0f, 50.0f, paint)
        paint.xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC_OUT)
        canvas.drawBitmap(bitmapImage, 0.0f, 0.0f, paint)
        return bitmap
    }
    

    你可以改变圆的轴心和半径来达到你的效果, 如果传递图像的位图,它将返回位图,您可以保存到文件

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      相关资源
      最近更新 更多