Сохранение растрового изображения на SD-карту без сжатия в android

Я использую встроенную камеру Android, чтобы сделать снимок, а затем прикрепляю то же изображение к электронной почте, когда я тестирую эту функцию на устройстве 1.6, я Можно назвать изображение, которое будет снято встроенной камерой, но в 2.1 изображение имеет имя, то есть заданное устройством,

Как дать определенное пользователем имя в изображениях встроенной камеры 2.1 ..

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

, этот метод обрабатывает результат от встроенной камеры

protected void onActivityResult(int requestCode, int resultCode, Intent data)
 {
  File file = new File(Environment.getExternalStorageDirectory()
    + "/test.png");
  switch (requestCode)
  {
  case PHOTO_ACTION:
   if (resultCode == RESULT_CANCELED)
   {
     addPhoto = false;
     Toast.makeText(this, "Canceled ", Toast.LENGTH_LONG).show();
     break;
   } else if (resultCode == RESULT_OK)
   {
    Bundle b = data.getExtras();
    Bitmap bm = (Bitmap) b.get("data");

    FileOutputStream out;
    try
     {

     out = new FileOutputStream(file);
     bm.compress(Bitmap.CompressFormat.JPEG, 100, out);
     out.flush();
     out.close();
     scanPhoto(file.toString());
     out = null;
     addPhoto = true;
     } catch (Exception e)
      {
       e.printStackTrace();
       addPhoto = false;
      }

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

6
задан Chirag 5 September 2012 в 08:34
поделиться