gpt4 book ai didi

android - 在 Droid X 上裁剪图片将生成的图像设置为墙纸

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:20 27 4
gpt4 key购买 nike

在尝试裁剪用户从他们的图库中选择的图像时,我的程序遇到了问题。到目前为止,该问题仅在 Droid X 上运行时出现,因为在原始 moto Droid 上运行正常。

基本上,问题是在运行裁剪 Intent 时发生的。一旦用户裁剪照片并点击保存按钮,它就会用保存的裁剪图像替换主屏幕上的墙纸!它不会在 moto droid 或模拟器上执行此操作。下面是裁剪图片并保存到SD卡的代码:

@Override
public void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode ==1){
if (resultCode == Activity.RESULT_OK) {
Intent i = new Intent("com.android.camera.action.CROP");
i.setData(data.getData());
i.putExtra("noFaceDetection", true);
i.putExtra("outputX", 80);
i.putExtra("outputY", 80);
i.putExtra("aspectX", 1);
i.putExtra("aspectY", 1);
i.putExtra("scale", true);


if(selectedImageString == null){
ContentValues values = new ContentValues();
values.put(android.provider.MediaStore.Images.Media.TITLE, "Temp_Icon1");
values.put(android.provider.MediaStore.Images.Media.BUCKET_ID, "Temp_Icons");
values.put(android.provider.MediaStore.Images.Media.BUCKET_DISPLAY_NAME,"Temp_Icons");
values.put(android.provider.MediaStore.Images.Media.IS_PRIVATE, 1);
selectedImageString = getContentResolver().insert(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values).toString();
}
i.putExtra("output", Uri.parse(selectedImageString));
startActivityForResult(i, 2);
}
}
if(requestCode == 2){
if (resultCode == Activity.RESULT_OK){
uriPath = Uri.parse(selectedImageString);
imageView.setImageURI(uriPath);
}
}

}

有人可以帮我解决这个问题吗?

最佳答案

即使使用上面提到的“输出”选项,我也可以验证 Droid X 是否为我做同样的事情。到目前为止,我还没有找到解决方法,并且会考虑阻止 Droid X 手机的裁剪功能。很遗憾它在这里不起作用。

按照他们的方式,您可以尝试以下...

i.putExtra("return-data", true);

这会在返回的 Intent 中返回图像。您可以通过以下方式访问它...

BitMap BM = data.getParcelableExtra("data");

但是,Galaxy S 系列手机不支持此功能。无论如何,它都会返回一个空包裹。所以,我还没有找到好的解决方案。

关于android - 在 Droid X 上裁剪图片将生成的图像设置为墙纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701530/

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