如何使用带纹理视图的坐标在屏幕上绘制矩形?

How to draw a rectangle on the screen using coordinates with texture view?

我正在使用 cameraX 预览相机提要到纹理视图。如何使用我拥有的坐标在屏幕上绘制一个矩形?我不想要复杂的功能。我只想画一个矩形。 我正在使用 kotlin 和 android studio 4.0.

我会选择一个重叠在 TextureView 之上的 ImageView xml。此图像视图将加载一个透明位图,该位图仅绘制矩形。如果你有你必须做的坐标:

val myRectPaint = Paint()
myRectPaint.strokeWidth = 5F
myRectPaint.color = Color.RED
myRectPaint.style = Paint.Style.STROKE

// Create a Canvas object for drawing on the original bitmap provided
val tempBitmap =
    Bitmap.createBitmap(bitmap!!.width, bitmap.height, Bitmap.Config.ARGB_8888)
val tempCanvas = Canvas(tempBitmap)
tempCanvas.drawBitmap(bitmap, 0F, 0F, null)

tempCanvas.drawRoundRect(
            RectF(x1.toFloat(), y1.toFloat(), x2.toFloat(), y2.toFloat()),
            2f,
            2f,
            myRectPaint
        )

// Use this to widen picture on top or bottom
    val croppedFaceBitmap =
        Bitmap.createBitmap(tempBitmap, x1, y1, x2, y2)

在任何情况下,您也可以遵循来自 tensorflow github 的 this example,其中在检测到对象时绘制圆形框。

希望我有所帮助