【发布时间】:2012-01-25 00:00:47
【问题描述】:
我一直在尝试通过相机意图拍照时裁剪和调整图像大小,但不明白我在这里做错了什么 - 即使文件正确,也无法获取裁剪后的图像数据保存在手机上。
...
public class Add extends Activity {
private String imageFilePath;
...
protected void onCreate(Bundle savedInstanceState) {
...
imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/tmp/" + String.valueOf(System.currentTimeMillis()) + ".jpg";
imageFile = new File(imageFilePath);
imageFileUri = Uri.fromFile(imageFile);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
intent.putExtra("crop", "true");
intent.putExtra("outputX", 600);
intent.putExtra("outputY", 600);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
startActivityForResult(intent, 0);
...
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case 0 : {
Bitmap bitmap = BitmapFactory.decodeFile(imageFilePath);
}
}
}
如果我使用intent.putExtra("crop", "true");,imageFilePath 返回 null,否则返回正确的文件。
感谢您的帮助!
【问题讨论】:
标签: android android-intent android-camera crop