#android #canvas #bitmap #transparent
#Android #холст #растровое изображение #прозрачный
Вопрос:
Я создаю 2D-игру для платформы Android. Предполагается, что персонаж перемещается только вверх и вниз, поэтому я хочу создать 2 стрелки для перемещения в нижней части экрана, чтобы игрок мог перемещать персонажа вверх и вниз. Я также хочу убедиться, что они не блокируют просмотр или что игрок не может видеть, что он делает, поэтому я хочу, чтобы они были прозрачными примерно на 50%.
Как я могу контролировать уровень прозрачности растрового изображения? Я использую canvas на SurfaceView
и управляю им в потоке с помощью lockCanvas
и unlockAndPost
.
Ответ №1:
Когда вы рисуете растровое изображение, вы передаете Paint в качестве аргумента. Вы можете установить уровень прозрачности в Paint с помощью Paint.setAlpha():
paint.setAlpha(127); //50% translucent
canvas.drawBitmap(bitmap, x, y, paint)
Ответ №2:
Если вы используете файлы PNG вместо файлов BMP, вы можете сделать их полупрозрачными. С помощью бесплатного программного обеспечения Inkscape вы можете импортировать файлы формата BMP (с помощью перетаскивания), сделать их прозрачными (выберите изображение и нажмите Ctrl Shift F) и экспортировать их в формате png (Ctrl Shift E).