Страница 1 из 1
Сохранение изображения из приложения на sdcard
Добавлено: 31 янв 2012, 15:47
alogin
Возник еще один насущный вопрос, как из приложения сохранить картинку на sdcard
В приложении картинки хранятся в res/drawable выводятся на экран в LinearLayout (т.е. в linearlayout они прописаны background'ом) нужно чтобы оно по нажатию кнопки сохраняло ее в флешку куда нибудь
Есть мысли? желательно с примером ))))))
Re: Сохранение изображения из приложения на sdcard
Добавлено: 01 фев 2012, 16:20
damager82
Как вариант:
Код: Выделить всё
Bitmap bmpToSave = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File(sdCard.getAbsolutePath() + "/images/");
directory.mkdirs();
File file = new File(directory, "file.png");
FileOutputStream fOut;
try {
fOut = new FileOutputStream(file);
bmpToSave.compress(Bitmap.CompressFormat.PNG,100,fOut);
fOut.flush();
fOut.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
где:
R.drawable.icon - нужный вам drawable
/images/file.png - путь для сохранения
Если файл без альфа-слоя, то используйте Bitmap.CompressFormat.JPG в методе compress.
Re: Сохранение изображения из приложения на sdcard
Добавлено: 23 окт 2012, 16:45
Coment
Сорри за некровопрос
Правильно ли я понимаю, что если я хочу сохранить картинку из сети, то вместо decodeResource в первой строке предложеного примера, нужно вставить decodeStream (тут что-то типа InputStream(is)) ?
Re: Сохранение изображения из приложения на sdcard
Добавлено: 23 окт 2012, 17:00
rezak90
Правильно понимаешь. Поулчаешь поток в ответ от запроса и декодируешь Bitmap bitmap = BitmapFactory.decodeStream(stream); //кажется так