gpt4 book ai didi

java - 从 Uri 获取位图

转载 作者:搜寻专家 更新时间:2023-11-01 09:36:33 25 4
gpt4 key购买 nike

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_image);

imageView = (ImageView) findViewById(R.id.imageView);

Intent intent = getIntent();
Uri imageUri = intent.getData();
// Picasso.with(this).load(imageUri).into(imageView);

if(imageUri == null){
Log.d(TAG, "Check");
}






//BitmapFactory.Options options = new BitmapFactory.Options();
// options.inSampleSize = 8;
// bm = MediaStore.Images.Media.getBitmap(getContentResolver(),imageUri);

Bitmap bm = null;

try{
InputStream image;
try{
image = getContentResolver().openInputStream(imageUri);
bm = BitmapFactory.decodeStream(image);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
catch (Exception e){
e.printStackTrace();
}




//BitmapFactory.Options options = new BitmapFactory.Options();
// bm = BitmapFactory.decodeFile(file.getAbsolutePath(),options);


if ((bm == null)) {
prints("It doesn't work");
}

//Log.d(TAG,"Going to convert image.");
imageView.setImageBitmap(bm);

我查看了一堆 StackOverFlow 问题,我已经尝试了所有问题,正如您在注释代码中看到的那样。我正在尝试获取拍摄照片时未更改的位图。位图的像素位置对我的目标至关重要。图像质量高,文件可能更大。我的位图始终为空,我已确保我的 Uri 不是。有任何想法吗?

最佳答案

我认为下面的代码会对你有所帮助

  private void setImage(String path, CircleImageView img) {

options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.showImageOnLoading(R.drawable.user)
.showImageForEmptyUri(R.drawable.user)
.showImageOnFail(R.drawable.user)
.build();

ImageLoader.getInstance().displayImage(path, img, options, new SimpleImageLoadingListener() {

@Override
public void onLoadingStarted(String imageUri, View view) {
super.onLoadingStarted(imageUri, view);
}

@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
super.onLoadingFailed(imageUri, view, failReason);
}

@Override
public void onLoadingCancelled(String imageUri, View view) {
super.onLoadingCancelled(imageUri, view);
}

@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
super.onLoadingComplete(imageUri, view, loadedImage);
}
}, new ImageLoadingProgressListener() {
@Override
public void onProgressUpdate(String s, View view, int i, int i1) {

}
});
}

SimpleImageLoadingListener() 使用通用图像加载器

关于java - 从 Uri 获取位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42690929/

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