在使用ACTION_IMAGE_CAPTURE获取图片后,我在保存全尺寸图片时遇到了问题--图片变得非常小,其分辨率为27X44 --我使用1.5Android模拟器,这是代码,我将感谢您的任何帮助:
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);
}
}
}发布于 2010-05-07 08:37:41
看看你在做什么:
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File (Environment.getExternalStorageDirectory(), "testExtra" + String.valueOf (System.currentTimeMillis()) + ".jpg")));中。Bitmap mPicture = (Bitmap) data.getExtras().get("data");“拖动”数据。显然,您不能从它的文件中访问图片。据我所知,意图并不是用来携带大量数据的,因为它们是在活动之间传递的。您应该做的是从相机意图创建的文件打开图片。看起来是这样:
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
// Limit the filesize since 5MP pictures will kill you RAM
bitmapOptions.inSampleSize = 6;
imgBitmap = BitmapFactory.decodeFile(pathToPicture, bitmapOptions);这应该能起作用。它过去对我来说是这样的,但是我在几个设备上从2.1开始就遇到了问题。对Nexus One仍然有效。
看看俘获。
希望这能有所帮助。
致以敬意,
斯特夫
https://stackoverflow.com/questions/2410678
复制相似问题