Печать растровых изображений на другой растровый Android

1

Я пытаюсь сделать свою игру немного проще по телефону, поэтому я пытаюсь найти способ распечатать кучу растровых изображений на другой большой, поэтому я могу сделать это один раз, а не каждый раз, когда экран перерисовывается. Итак, есть ли способ сделать это? Я знаю, что есть способ распечатать все, что напечатано на холсте, до растрового изображения, но я не могу заставить его работать. Если это единственный способ, кто-то может объяснить, как это сделать? Спасибо заранее.

Вот что я пробовал, но так не получилось

Bitmap background; 
Canvas canvas; 

private void methodName() {
    background = Bitmap.createBitmap(width, height, someKindOfConfigThing); 
    canvas = new Canvas(background);
    canvas.drawBitmap(blahblah);
}
Теги:
canvas
bitmap

2 ответа

1
Лучший ответ

Что бы вы сделали, так это создать основной растровый рисунок, прикрепить его к холсту, на который вы можете рисовать.

Bitmap bitmap = Bitmap.createBitmap(width, height, Config.RGB_565);
Canvas c = new Canvas(bitmap);

Вы можете нарисовать (части) растровые изображения на этом холсте с помощью

c.drawBitmap(anotherBitmap, transformMatrix, paint);

Чтобы прикрепить основной растровый рисунок к представлению, вы должны создать новый ImageView, вызовите setImageBitmap, передав основное растровое изображение и задав его как текущее содержимое с помощью setContentView.

  • 0
    Есть ли какая-то причина, по которой я получаю нулевой указатель, когда он пытается инициализировать растровое изображение так, как вы это сделали там?
  • 0
    Если вы просто скопировали строку, она будет ожидать, что ширина и высота будут существующими переменными.
Показать ещё 2 комментария
0

Если вы хотите объединить несколько растровых изображений в другой большой и повторно использовать это, вы уже на правильном пути! Покажите нам, что вы сделали, и сообщите нам, каков результат. Думаю, мы можем вам помочь:)

[обновление] должно быть возможно сохранить эту новую растровую карту на диск или временно сохранить ее как переменную:

private void methodName() {
    background = Bitmap.createBitmap(width, height, someKindOfConfigThing); 
    canvas = new Canvas(background);
    // drawing on the canvas should change the bitmap "background" too
    canvas.drawBitmap(blahblah);
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream("/path/to/image.png");
        background.compress(Bitmap.CompressFormat.PNG, 100, fos);
        fos.close();
    } catch (Exception e) {
        // catching...
    }
}
  • 0
    Ну, я сделал метод, который я запустил для создания растрового изображения, который выглядел как фон растрового изображения; Холст холст; private void methodName () {background = Bitmap.createBitmap (width, height, someKindOfConfigThing); холст = новый холст (фон); canvas.drawBitmap (blahblah); }
  • 0
    Я нажимаю Enter вместо Shift + Enter, я отредактировал свой комментарий ... но он не читается, поэтому я добавлю его в исходное сообщение
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню