मैं ग्लाइड के साथ पर्याप्त रूप से परिचित नहीं हूं, लेकिन ऐसा लगता है कि यदि आप लक्ष्य आकार जानते हैं, तो आप इस तरह से कुछ का उपयोग कर सकते हैं:
Bitmap theBitmap = Glide.
with(this).
load("http://....").
asBitmap().
into(100, 100). // Width and height
get();
ऐसा लगता है कि आप पास कर सकते हैं -1,-1
, और एक पूर्ण आकार की छवि प्राप्त कर सकते हैं (विशुद्ध रूप से परीक्षणों पर आधारित, इसे प्रलेखित नहीं देख सकते हैं)।
नोट into(int,int)
एक रिटर्न FutureTarget<Bitmap>
है, तो आप एक कोशिश पकड़ कवर ब्लॉक में इस रैप करने के लिए है ExecutionException
और InterruptedException
। यहाँ एक और पूर्ण उदाहरण कार्यान्वयन, परीक्षण और कार्य करना है:
class SomeActivity extends Activity {
private Bitmap theBitmap = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// onCreate stuff ...
final ImageView image = (ImageView) findViewById(R.id.imageView);
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
Looper.prepare();
try {
theBitmap = Glide.
with(SomeActivity.this).
load("https://www.google.es/images/srpr/logo11w.png").
asBitmap().
into(-1,-1).
get();
} catch (final ExecutionException e) {
Log.e(TAG, e.getMessage());
} catch (final InterruptedException e) {
Log.e(TAG, e.getMessage());
}
return null;
}
@Override
protected void onPostExecute(Void dummy) {
if (null != theBitmap) {
// The full bitmap should be available here
image.setImageBitmap(theBitmap);
Log.d(TAG, "Image loaded");
};
}
}.execute();
}
}
नीचे टिप्पणी में मंकीलेस के सुझाव के बाद (और यह आधिकारिक तरीका भी प्रतीत होता है ), आप कोड को सरल बनाने के लिए SimpleTarget
वैकल्पिक रूप से युग्मित का उपयोग कर सकते हैं override(int,int)
। हालांकि, इस मामले में सटीक आकार प्रदान किया जाना चाहिए (1 से नीचे कुछ भी स्वीकार नहीं किया गया है):
Glide
.with(getApplicationContext())
.load("https://www.google.es/images/srpr/logo11w.png")
.asBitmap()
.into(new SimpleTarget<Bitmap>(100,100) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
image.setImageBitmap(resource); // Possibly runOnUiThread()
}
});
@hennry द्वारा सुझाए गए अनुसार यदि आपको उसी छवि की आवश्यकता है तो उपयोग करेंnew SimpleTarget<Bitmap>()