problema retrato tamanho pequeno

votos
1

Eu tenho um problema em salvar uma imagem em um tamanho grande após a captura-lo usando a intenção ACTION_IMAGE_CAPTURE a imagem se tornar muito pequena, sua resolução é 27X44 Eu estou usando 1.5 emulador Android, este é o código e eu aprecio qualquer ajuda:

myImageButton02.setOnClickListener
(
    new OnClickListener() 
    {
        @Override
        public void onClick(View v)
        {
            // create camera intent
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            //Grant permission to the camera activity to write the photo.
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            //saving if there is EXTRA_OUTPUT
            intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File
            (Environment.getExternalStorageDirectory(), testExtra + String.valueOf
            (System.currentTimeMillis()) + .jpg)));
            // start the camera intent and return the image
            startActivityForResult(intent,1); 
        } 
    }
);
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);

    // if Activity was canceled, display a Toast message
    if (resultCode == RESULT_CANCELED) 
    {
        Toast toast = Toast.makeText(this,camera cancelled, 10000);
        toast.show();
        return;
    }

    // lets check if we are really dealing with a picture
    if (requestCode == 1 && resultCode == RESULT_OK)
    {
        String timestamp = Long.toString(System.currentTimeMillis());
        // get the picture
        Bitmap mPicture = (Bitmap) data.getExtras().get(data);
        // save image to gallery
        MediaStore.Images.Media.insertImage(getContentResolver(), mPicture, timestamp, timestamp);
    }
}
}
Publicado 09/03/2010 em 17:35
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Olhe para o que você está fazendo:

  • você especificar um caminho onde sua foto recém-tirada é armazenada com intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File (Environment.getExternalStorageDirectory(), "testExtra" + String.valueOf (System.currentTimeMillis()) + ".jpg")));
  • quando você acessa a imagem que 'drag' os dados fora da intenção com Bitmap mPicture = (Bitmap) data.getExtras().get("data");

Obviamente, você não acessar a imagem de seu arquivo. Tanto quanto eu sei Intenções não são projetados para transportar uma grande quantidade de dados, uma vez que são passadas entre por exemplo, actividades. O que você deve fazer é abrir a imagem do arquivo criado pela intenção câmera. Parece que:

BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();  
// Limit the filesize since 5MP pictures will kill you RAM  
bitmapOptions.inSampleSize = 6;  
imgBitmap = BitmapFactory.decodeFile(pathToPicture, bitmapOptions);

Isso deve fazer o truque. Ele costumava trabalhar para mim desta maneira, mas eu estou tendo problemas desde 2.1 em vários dispositivos. Obras (ainda) muito bem no Nexus One.
Dê uma olhada em MediaStore.ACTION_IMAGE_CAPTURE .

Espero que isto ajude.
Regards,
Steff

Respondeu 07/05/2010 em 09:37
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more