Печать растровых изображений на другой растровый Android - PullRequest
1 голос
/ 22 декабря 2010

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

Вот кое-что, что я попробовал, но это не сработало

Bitmap background; 
Canvas canvas; 

private void methodName() {
    background = Bitmap.createBitmap(width, height, someKindOfConfigThing); 
    canvas = new Canvas(background);
    canvas.drawBitmap(blahblah);
}

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

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

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

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

c.drawBitmap(anotherBitmap, transformMatrix, paint);

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

0 голосов
/ 22 декабря 2010

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

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

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...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...