gpt4 book ai didi

android - 在 android 上使用 com.android.camera.action.CROP 裁剪保存的图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:22:06 25 4
gpt4 key购买 nike

我已经阅读了很多关于此的问题,但我仍然无法使用此代码...也许任何人都可以纠正我的代码...我想使用 com.android.camera 从我知道位置的文件中裁剪图像。 action.CROP 这样的...

    mImageCaptureUri = Uri.fromFile(f);
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");

intent.setData(mImageCaptureUri);
intent.putExtra("crop", true);
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 200);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);

Bundle extras = intent.getExtras();

if (extras != null) {
Bitmap photo = extras.getParcelable("intent");

tampilan.setImageBitmap(photo);
}

File f = new File(mImageCaptureUri.getPath());

if (f.exists()) f.delete();

但是当我运行代码时,没有任何反应......T.T谁能帮帮我??

最佳答案

我修改了我的代码并成功运行,这是我的代码..

Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
List<ResolveInfo> list = getPackageManager().queryIntentActivities( intent, 0 );
int size = list.size();
if (size == 0) {
Toast.makeText(this, "Can not find image crop app", Toast.LENGTH_SHORT).show();

return;
} else {
intent.setData(selectImageUri);
intent.putExtra("outputX", 300);
intent.putExtra("outputY", 300);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
if (size == 1) {
Intent i = new Intent(intent);
ResolveInfo res = list.get(0);

i.setComponent( new ComponentName(res.activityInfo.packageName, res.activityInfo.name));

startActivityForResult(i, CROP_RESULT);
} else {

}

}

和这样的activityResult

if (resultCode == RESULT_OK){
switch (requestCode){
case SELECT_PICTURE :
selectImageUri = data.getData();
doCrop();
break;
case CROP_RESULT :
Bundle extras = data.getExtras();

if (extras != null) {
bmp = extras.getParcelable("data");
temporary.setBitmap(bmp);

}
File f = new File(selectImageUri.getPath());

if (f.exists()) f.delete();
Intent inten3 = new Intent(this, tabActivity.class);
startActivity(inten3);
break;
case CAMERA_IMAGE :
doCrop();
break;
}
}

也许有用:D

关于android - 在 android 上使用 com.android.camera.action.CROP 裁剪保存的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12275842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com