Android: нарисуйте растровое изображение поверх другого, примените матрицу - PullRequest
0 голосов
/ 13 июля 2011

У меня есть изображение, которое использует матрицу для масштабирования / перетаскивания изображения.Теперь я хочу наложить другое изображение.Матричное преобразование должно применяться к комбинации фона и наложения.

Я переписал onDraw и использовал

    canvas.drawBitmap(overlay, matrix, null);

, тогда как наложение - это новое наложение, матрица - применяемая в данный момент матрица.Это отлично работает.К сожалению, я не могу указать смещение, при котором наложение должно отображаться поверх фона.Это работает

    canvas.drawBitmap(overlay, 50, 10, null);

, но наложение остается в этой позиции, как только я снова рисую и масштабирую фон ...

Как можно добиться смещения при рисовании растрового изображения с применением матрицы?

С уважением

1 Ответ

0 голосов
/ 13 июля 2011

Возможно, вам потребуется создать новое растровое изображение подходящего размера, в котором ваше наложение будет сохранено с преобразованием матрицы.Что-то вроде:

Bitmap overlay2 = Bitmap.createBitmap(....) 

Canvas c2 = new Canvas(overlay2);

c2.drawBitmap(overlay, matrix, null);

canvas.drawBitmap(overlay2, 50, 10, null);

Другой способ, возможно, лучше, это сделать canvas.translate:

canvas.save();
canvas.translate(50,10);
canvas.drawBitmap(overlay, matrix, null); 
canvas.restore();
...