Как установить фоновый рисунок в прямоугольник или rectF? - PullRequest
0 голосов
/ 08 августа 2011

Есть ли способ установить фоновое изображение для прямоугольника, нарисованного на холсте? Например, у меня есть следующий метод onDraw:

protected void onDraw(Canvas canvas) {
    this.setBackgroundGradient();
    RectF rect = new RectF();
    rect.set(0, 0, canvas.getWidth(), 50);
    canvas.drawRoundRect(rect, 0, 0, this.paint);
}

private void setBackgroundGradient()
{
    this.paint.setShader(new LinearGradient(0, 0,0, getHeight(), 0xff919191, 0xff424242, Shader.TileMode.MIRROR));
}

Я бы хотел изменить свой градиент на фоновое изображение (если возможно, повторяется).

Примечание: я бы предпочел сохранить прямоугольник и не использовать drawBitmap.

1 Ответ

1 голос
/ 08 августа 2011

Rect не является отрисовываемым, это вспомогательный класс и содержит только четыре значения, которые определяют прямоугольник. Canvas знает, как нарисовать прямоугольник с помощью объекта Paint, который вы ему даете. Если вы хотите иметь фон (изображение) вместо прямоугольника, то вы можете использовать drawBitmap на холсте или иметь (растровое) рисованное изображение, которое вы передаете холсту при рисовании.

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