Нарисуйте растровое изображение на холсте с пользовательской формой

Я хочу нарисовать изображение со следующей формой на холсте:

Черный должен быть заменен моим изображением. Я сейчас рисую изображение целиком. Я просто не знаю, как я могу получить такую ​​форму?

    canvas.drawBitmap(header,0,0,mPaint);

Кто-нибудь может мне помочь?

1 ответ

Решение

Благодаря pskink я получил это:

int width = this.getMeasuredWidth();
int height = this.getMeasuredHeight();

BitmapShader shader;
shader = new BitmapShader(header, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);

mPaint.setShader(shader);

Path path = new Path();

path.moveTo(0,0);
path.lineTo(0,height/2);
path.lineTo(width,height/4);
path.lineTo(width,0);

canvas.drawPath(path,mPaint);

Просто используйте шейдер и путь, чтобы сделать работу.

Другие вопросы по тегам