繁体   English   中英

如何在已经绘制的 canvas 上绘制 bitmap

[英]How to draw bitmap over already drawn canvas

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 创建的 canvas 上绘制位图(水印)。 但是位图(水印)在从 Surface 创建的 canvas 下方绘制

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

    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)
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM