Android之Glide获取图片Path和Glide获取图片Bitmap


今天主要研究了Glide获取图片Path、Bitmap用法,相信也困扰了大家很久,我在网上也找了很久,基本没有,后来研究了下,也参考了下api文档,总结了以下几个方式:

1. 获取Bitmap:

1)在图片下载缓存好之后获取

Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget<Bitmap>() {  
                @Override  
                public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {  
                    image.setImageBitmap(resource);  
                }  
            }); //方法中设置asBitmap可以设置回调类型

上面是简单方法,下面有全面的方法,可以完美控制:

Glide.with(mContext).load(url).asBitmap().into(new Target<Bitmap>() {
                @Override
                public void onLoadStarted(Drawable placeholder) {
                    
                }

                @Override
                public void onLoadFailed(Exception e, Drawable errorDrawable) {

                }

                @Override
                public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                     //TODO set bitmap
                }

                @Override
                public void onLoadCleared(Drawable placeholder) {

                }

                @Override
                public void getSize(SizeReadyCallback cb) {

                }

                @Override
                public void setRequest(Request request) {

                }

                @Override
                public Request getRequest() {
                    return null;
                }

                @Override
                public void onStart() {

                }

                @Override
                public void onStop() {

                }

                @Override
                public void onDestroy() {

                }
            });

2)通过url获取

Bitmap myBitmap = Glide.with(applicationContext)  
    .load(yourUrl)  
    .asBitmap() //必须  
    .centerCrop()  
    .into(500, 500)  
    .get()  

2. 获取图片缓存路径

FutureTarget<File> future = Glide.with(mContext)
                    .load("url")
                    .downloadOnly(500, 500);
            try {
                File cacheFile = future.get();
                String path = cacheFile.getAbsolutePath();
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }

注意:这段代码需要在线程中执行,否则会保存。

优质内容筛选与推荐>>
1、zz some JQeury code
2、zookeeper中Error contacting service. It is probably not running.
3、Difference between ArrayList and Vector In java
4、垂直居中
5、转:ORACLE BIEE客户端联机打开RPD文件设置


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn