Сохранение комбинированных растровых изображений - PullRequest
2 голосов
/ 10 августа 2011

Я пытаюсь открыть растровое изображение, которое уже было сохранено в SdCard, следующим образом:

    String imageFilePath= "/sdcard/SoftCopy/"+mybitmap.png;
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
    Bitmap loadedWork= BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);

У меня есть второе растровое изображение с именем currentWork.Это растровое изображение на самом деле текущий рисунок, который был сделан.Я объединил два растровых изображения следующим образом:

Canvas c = new Canvas(loadedWork);
c.drawBitmap(currentWork, 0, 0, null); //so that currentWork get drawn on loadedWork

Теперь я сохраняю объединенное растровое изображение (теперь в загруженном режиме) в файл следующим образом:

try {

final FileOutputStream out = new FileOutputStream(new File("/sdcard/SoftCopy" + "/mybitmap.png"));

            loadedWork.compress(Bitmap.CompressFormat.PNG, 90, out);
            out.flush();
            out.close();

            return true;
        }

        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

Проблема в том, что объединенное растровое изображение (loadedWork) сохраняется в виде файла png в первый раз, и я могу загрузить его, однако, когда я снова пытаюсь сохранить его после внесения некоторых изменений, происходит сбой приложения.Может кто-нибудь сказать мне, как я могу восстановить комбинированное растровое изображение.

...