#android #bitmap #loading
#Android #растровое изображение #Загрузка
Вопрос:
Я сохранил свои растровые изображения во внутреннем хранилище, но не могу их повторно отобразить. Я долгое время занимался исследованиями, но пока не нашел.
public static void saveImages(Activity activity) throws IOException
{
for (int i=0; i<categories.getItems().length; i ) {
OutputStream os2 = activity.openFileOutput(categories.getItems()[i].getName(),
Context.MODE_WORLD_READABLE);
OutputStreamWriter osw2 = new OutputStreamWriter(os2);
Bitmap bmp = ((BitmapDrawable)categories.getItems()[i].getCategoryImage()).getBitmap();
bmp.compress(Bitmap.CompressFormat.PNG, 90, os2);
osw2.close();
}
}
Этот код успешно работает для сохранения изображений. Я буду повторно отображать эти изображения из файлов.
Спасибо
Комментарии:
1. Извините, я не смог отформатировать свой код. Я новичок на этом сайте.
2. Просто выделите весь свой код и нажмите Ctrl Shift K. Это должно сработать. Я не могу отредактировать ваш вопрос, иначе я бы сделал это вместо вас.
3. @sharp higherpass.com/Android/Tutorials/Working-With-Images-In-Android/…
Ответ №1:
Попробуйте этот код: используется openFileInput
для извлечения сохраненных вами потоков, а затем их декодирования:
for (int i=0; i<categories.getItems().length; i ) {
InputStream is = activity.openFileInput(categories.getItems()[i].getName());
Bitmap b = BitmapFactory.decodeStream(is);
// do whatever you need with b
}
Ответ №2:
Попробуйте это
File f=new File(yourdir, imagename);
Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));
Ответ №3:
декодируйте растровое изображение, а затем создайте новое изображение, а затем добавьте растровое изображение в изображение.
Комментарии:
1. Для декодирования мне нужно знать путь к папкам, но я не знаю.
2. Попробуйте Log.d(«», «место хранения» Environment.getExternalStorageDirectory()); и просмотрите свой журнал в DDMS