Android - рисовать пальцем растровое изображение только в определенных областях - PullRequest
0 голосов
/ 26 января 2012

У меня есть два изображения.Изображение с красным прямоугольником, и изображение все белое.Я хотел бы рисовать пальцем на белом изображении только там, где другое изображение - красный прямоугольник.Изображение с красным прямоугольником не должно быть видимым.Как я могу это сделать?

enter image description here

1 Ответ

1 голос
/ 26 января 2012

Создание границ для каждого изображения, например, с помощью Rect, установленного для шнуров каждого изображения (положение и размер).В представлении, в котором вы переопределяете onDraw (), установите onTouchListener для самого представления.

В onTouch () проверьте, что event.getX () / getY () находится в пределах белого изображения.Затем используйте whiteImage.setPixel (), чтобы установить отдельные пиксели растрового изображения.В качестве альтернативы используйте Canvas.drawPoint () вместо того, чтобы манипулировать самим белым растровым изображением.

Что касается не отображения красного прямоугольника ... просто не рисуйте его?

Редактировать: В свой комментарийо не квадратной / прямоугольной формы.Я все еще проверял бы событие касания в прямоугольнике и затем передавал бы это к изображению, если оно достигло формы.

Внутри фигуры (я предполагаю, что это растровое изображение) вы должны сделать Bitmap.getPixel (x, y) и посмотреть, если это == для Color.White, если это так ... измените его налюбой цвет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...