Android: Как наложить битовый массив и дистиллировать битовый массив?

У меня есть три вопроса на самом деле:

  1. Лучше нарисовать изображение на битовом массиве или создать битовый массив как ресурс и затем потянуть его по битовому массиву? Мудрая производительность, какой лучше?
  2. Если бы я хочу потянуть что-то прозрачное по битовому массиву, как я пошел бы о выполнении его?
  3. Если бы я хочу наложить одно прозрачное растровое изображение по другому, как я сделал бы это?

Извините за длинный список, но в интересах изучения, я хотел бы исследовать обоих подходы.

57
задан swimfar 15 May 2019 в 00:52
поделиться

1 ответ

Не могу поверить, что никто еще не ответил на это! Редкое явление на SO!

1

Для меня вопрос не совсем понятен. Но я дам ему удар. Если вы спрашиваете о прямом рисовании на холсте (многоугольники, затенение, текст и т. Д.), А не о загрузке растрового изображения и переносе его на холст, это будет зависеть от от сложности вашего рисунка. По мере того, как рисунок становится более сложным, требуемое время ЦП соответственно увеличивается. Однако копирование растрового изображения на холст всегда будет постоянным временем, которое пропорционально размеру растрового изображения.

2

Не зная, что такое «что-то», как я могу показать вам, как это сделать? Вы должны уметь понять № 2 из ответа на № 3.

3

Допущения:

  • bmp1 больше, чем bmp2.
  • Вы хотите, чтобы они оба были наложены в верхнем левом углу.

      частное наложение Bitmap (Bitmap bmp1, Bitmap bmp2) {
    Bitmap bmOverlay = Bitmap.createBitmap (bmp1.getWidth (), bmp1.getHeight (), bmp1.getConfig ()); 
    Canvas canvas = new Canvas (bmOverlay); 
    canvas.drawBitmap (bmp1, new Matrix (), null); 
    canvas.drawBitmap (bmp2, new Matrix (), null); {{1 }} return bmOverlay; 
    } 
     
105
ответ дан 24 November 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: