gpt4 book ai didi

android - 将 URI 转换为位图的问题 (2014) :

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:16 24 4
gpt4 key购买 nike

简而言之,我正在尝试从手机图库中选择一张图片以显示为位图,以便在另一个 Activity 中播放(获取平均 RGB)。

首先,我遇到了几个处理 URI 到位图转换的主题。他们中的很多人都有这样的建议(来自:Retrieve bitmap from uri):

    Uri imageUri = intent.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
Imageview my_img_view = (Imageview ) findViewById (R.id.my_img_view);
my_img_view.setImageBitmap(bitmap);

Bitmap 行是重要的行。每当我在我的模拟器上运行我的 Android 应用程序时,应用程序崩溃(Eclipse 中的调试器确认在 URI --> 位图转换行上发生),如果我将转换放在不同的 Activity 中(它是 bundle 的),那么它仍然会崩溃在 Uri -> 位图转换行上。

我不确定这是为什么。我已经尝试在初始 Intent 上同时使用“EXTERNAL_CONTENT_URI”和“INTERNAL_CONTENT_URI”,这两种选择都没有关系。我将继续为我的问题寻找可能的解决方案,但我现在时间不够,我觉得如果我从外部来源获得一些建议会有所帮助。

有谁知道为什么它总是在那条线上崩溃,或者我的问题是否有任何可能的解决方案?谢谢。

最佳答案

请从uri获取输入流

Uri IMAGE_URI = imageReturnedIntent.getData();
InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI);
Bitmap bitmap= BitmapFactory.decodeStream(image_stream );

开始 Intent

private static final int REGUEST_CODE = 100;
Intent photoPicker = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, REGUEST_CODE);

获取结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case REGUEST_CODE :
if(resultCode == RESULT_OK){
Uri IMAGE_URI = imageReturnedIntent.getData();
InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI);
Bitmap bitmap= BitmapFactory.decodeStream(image_stream );
my_img_view.setImageBitmap(bitmap)
}
}

关于android - 将 URI 转换为位图的问题 (2014) :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25828808/

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