zoukankan      html  css  js  c++  java
  • 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();
                }

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

  • 相关阅读:
    Web 设计与开发终极资源大全(下)
    任务失败,原因是未找到“LC.exe”,或未安装正确的 Microsoft Windows SDK
    NET开发常用DLL资源下载
    sqlserver2005 sqlserver2000连接字符串的区别(NET)
    创业大讲座观后感
    工欲善其事必先利其器搭建Android平台
    Java学习很好的笔记
    Java调用jama实现矩阵运算
    MySQL的安装及使用教程
    eval解析JSON中的注意点
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7872408.html
Copyright © 2011-2022 走看看