Создание камеры (маска) на поверхности в Android
Я хочу создать маску на поверхности камеры. см. изображение ниже. Маска изменяемого размера. изображение будет кликать только по не размытой области. Кто-нибудь может дать идею, как создать такую маску? заранее спасибо.
1 ответ
Вы можете рисовать на виде поверхности с предварительным просмотром камеры. Вам нужно установить
setWillNotDraw(false);
в SurfaceCreated override.
См.: Расширенный метод onDraw () SurfaceView никогда не вызывается
Так что с этого момента делайте все свои рисунки в OnDraw как обычно.
Вы не можете рисовать на поверхности SurfaceView, который получает предварительный просмотр камеры.
У вас есть два основных варианта: нарисовать часть View в SurfaceView, рассматривая ее как пользовательский вид, или создать второй SurfaceView и наложить его поверх поверхности камеры.
Для последнего вы бы использовали setZOrderMediaOverlay()
расположить поверхность над слоем поверхности камеры, но под слоем пользовательского интерфейса просмотра. Вы можете использовать Canvas или GLES, чтобы рисовать на нем. Вы можете найти пример действия с тремя SurfaceViews в "тесте Multi-Surface" от Grafika.