Android之Glide擷取圖片Path和Glide擷取圖片Bitmap

來源:互聯網
上載者:User

標籤:try   back   簡單方法   adc   hold   線上   dea   ring   star   

今天主要研究了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();            }

注意:這段代碼需要線上程中執行,否則會儲存。

Android之Glide擷取圖片Path和Glide擷取圖片Bitmap

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.