2015-08-24 3 views
1

В моем приложении для Android я создаю изображение с помощью камеры, я использую API-интерфейс камеры для этого, я должен отображать его миниатюры, после съемки, и что я хочу сохранить в другой папке , поэтому мой вывод в функцию создателя эскизов был бы образным путем, и я ожидаю выход файла, который является дорожкой эскизов. Я прошел через множество руководств и документацию разработчика, я нашел много методовПреобразование изображения в миниатюру и сохранение

eg : ThumbnailUtils,.. 

, но все эти методы возвращают либо объект Bitmap или массивы байт,. какой лучший способ получить save thumnail изображения.

public void manageImage() { 
    /* 
     other things 
    */ 
     Model.addThumnailPath(createThumnail(imageFile)); 
} 

public String createThumnail(File imageFile){ 
    // operations 

    return thumnailPath; 
} 
+0

Похоже, что вам нужно искать * как сохранить Bitmap в файл *. – natario

+0

есть ли другой способ? – droidev

ответ

3

Лучший способ создать эскиз либо использовать

  • ThumbnailUtils
  • изобрести колесо и делать шаги ниже
    1. Вычислить максимальную возможную inSampleSize, что по-прежнему дает изображение больше вашей цели.
    2. Загрузите изображение с помощью BitmapFactory.decodeFile (файл, параметры), передав в качестве параметра параметрSampleSize.
    3. Измените размер до требуемых размеров с помощью Bitmap.createScaledBitmap().

Теперь у вас есть растровый готов, и вы можете сохранить его в любом месте, используя следующий код

Bitmap thumbnail; 
File thumbnailFile = ...; 
FileOutputStream fos = new FileOutputStream(thumbnailFile); 
thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, fos); 
fos.flush(); 
fos.close(); 

Вот это :)