Как я могу получить цвет пикселей из imageView, используя Kotlin? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь получить цвет пикселя из моего imageView, наводя курсор на него, но мое приложение продолжает падать.

Я пытался использовать код из потоков stackoverflow, но большинство из них старые и устаревшие, а некоторые просто не работают для меня. Пробовал также использовать Canvas, но он также не работал.

мой код:

    @SuppressLint("ClickableViewAccessibility")
    private fun getPixelInfo() {
        val pixelInfoText = findViewById<TextView>(R.id.pixelInfoText)
        val imageView = findViewById<ImageView>(R.id.imageView)
        imageView.bringToFront()

        imageView.setOnTouchListener { _, event ->
            val x = event.x.toInt()
            val y = event.y.toInt()

            if (event.action == MotionEvent.ACTION_MOVE) {
                pixelInfoText.text = "$x $y"
            }

            true
        }

Мое приложение продолжает падать,

но текст textView должен быть таким, как "X: 250 Y: 500 ЦВЕТ: # F8AC4D"

1 Ответ

0 голосов
/ 04 мая 2019

Нашли способ сделать это:

val bitmap = Bitmap.createBitmap(layout.width, layout.height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
layout.draw(canvas)
val color = bitmap.getPixel(x, y)
...