【问题标题】:How to draw bitmap over already drawn canvas如何在已绘制的画布上绘制位图
【发布时间】:2021-05-05 16:00:57
【问题描述】:
val canvas = inputSurface.lockCanvas(null)
try {
    val source = Rect(200, 200, 400, 400)
    canvas.drawBitmap(watermark, null, source, null)
   currentFrame.draw(canvas)
} finally {
    inputSurface.unlockCanvasAndPost(canvas)
}

在这里,我试图在从 Surface 创建的画布上绘制位图(水印)。但是位图(水印)在从 Surface 创建的画布下方绘制

【问题讨论】:

    标签: android kotlin canvas bitmap mobile-application


    【解决方案1】:

    这是因为您首先绘制位图和框架。 通过切换绘图顺序,您应该会看到水印

        val canvas = inputSurface.lockCanvas(null)
        try {
            //First draw the frame
            currentFrame.draw(canvas)
    
            val source = Rect(200, 200, 400, 400)
            //Then draw the bitmap watermark
            canvas.drawBitmap(watermark, null, source, null)
        } finally {
            inputSurface.unlockCanvasAndPost(canvas)
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2018-07-10
      相关资源
      最近更新 更多