как получить маленькое изображение с камеры? - PullRequest
0 голосов
/ 12 марта 2012

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

public void startCamera() 
{

    fileName =helper.getKdStore(c)+"_"+System.currentTimeMillis()+ ".jpg";
    _path=Environment.getExternalStorageDirectory().toString() + "/Alfa Location/";

    file = new File(_path, fileName);
    try {
    file.createNewFile();
    } catch (IOException e) {
    e.printStackTrace();
    }               

    Uri outputFileUri = Uri.fromFile(file);
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(intent, IMAGE_CAPTURE);

}

и это метод результата деятельности

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    if (requestCode == IMAGE_CAPTURE) 
    {
        if (resultCode == RESULT_OK)
        {
            Log.d("ANDRO_CAMERA","Picture taken!!!");
            //imageView.setImageURI(imageUri);
            Toast.makeText(Detail.this, "Gambar Berhasil di simpan", Toast.LENGTH_LONG).show();

        }
    }
 }

как я могу изменить размер изображения? Спасибо

1 Ответ

2 голосов
/ 12 марта 2012

Вы можете изменить размер изображения после подачи с камеры, используя

int desiredImageWidth = 100;  // pixels
int desiredImageHeight = 100; // pixels

BitmapFactory.Options o = new BitmapFactory.Options();
Bitmap newImage = Bitmap.createScaleBitmap(BitmapFactory.decodeFile(imagePath, o), 
                                           desiredImageWidth, 
                                           desiredImageHeight, 
                                           false);
...