Как я могу установить растровое изображение в центре, оно не в центре. Вот мой код и экран. Я так много пробовал, но не смог решить это
fun onDraw(c: Canvas, rectF: RectF, pos: Int) {
val p = Paint()
p.color = color
c.drawRect(rectF, p)
p.color = Color.WHITE
p.textSize - textSize.toFloat()
var r = Rect()
val cHeight = rectF.height()
val cWidth = rectF.width()
p.textAlign = Paint.Align.RIGHT
p.getTextBounds(text, 0, text.length, r)
var x = 0f
var y = 0f
if (imageResId == 0) {
x = cWidth / 2f - r.width() / 2f - r.left.toFloat()
y = cHeight / 2f + r.height() / 2f - r.bottom.toFloat()
c.drawText(text, rectF.left + x, rectF.top + y, p)
} else {
val d = ContextCompat.getDrawable(context, imageResId)
val bitmap = drawableToBitmap(d!!)
c.drawBitmap(
bitmap,
(rectF.left + rectF.right) / 2,
(rectF.top + rectF.bottom) / 2,
p
)
}
clickRegion = rectF
this.pos = pos
}
Вот ссылка на изображение, которое создается ошибка введите описание ссылки здесь
private fun drawableToBitmap(d: Drawable?): Bitmap {
if (d is BitmapDrawable) return d.bitmap
val bitmap =
Bitmap.createBitmap(d!!.intrinsicWidth, d.intrinsicHeight, Bitmap.Config.ARGB_8888)
var canvas = Canvas(bitmap)
d.setBounds(0, 0, canvas.width, canvas.height)
d.draw(canvas)
return bitmap
}