private void loadFallbackPicture(Address address, ImageView imageView) { Context context = imageView.getContext(); Glide.with(context) .using(new FallbackGlideModelLoader(), FallbackGlideParams.class) .from(FallbackGlideParams.class) .as(Bitmap.class) .transcode(new BitmapToGlideDrawableTranscoder(context), GlideDrawable.class) .decoder(new FallbackGlideBitmapDecoder(context)) .encoder(new BitmapEncoder(Bitmap.CompressFormat.PNG, 0)) .cacheDecoder(new FileToStreamDecoder<>(new StreamBitmapDecoder(context))) .diskCacheStrategy(DiskCacheStrategy.NONE) .load(new FallbackGlideParams(address)) // for some reason, following 2 lines fix loading issues. .dontAnimate() .override(mPictureSizeInPx, mPictureSizeInPx) .into(imageView); }
public GifFrameManager(Context context, GifDecoder decoder, Handler mainHandler, Transformation<Bitmap> transformation) { this.context = context; this.decoder = decoder; this.mainHandler = mainHandler; this.transformation = transformation; calculator = new MemorySizeCalculator(context); frameLoader = new GifFrameModelLoader(); frameResourceDecoder = new GifFrameResourceDecoder(); if (!decoder.isTransparent()) { // For non transparent gifs, we can beat the performance of our gif decoder for each frame by decoding jpegs // from disk. cacheDecoder = new StreamBitmapDecoder(context); encoder = new BitmapEncoder(Bitmap.CompressFormat.JPEG, 70); } else { // For transparent gifs, we would have to encode as pngs which is actually slower than our gif decoder so we // avoid writing frames to the disk cache entirely. cacheDecoder = NullCacheDecoder.get(); encoder = SkipCache.get(); } }
/** * Sets the value for key * {@link com.bumptech.glide.load.resource.bitmap.BitmapEncoder#COMPRESSION_FORMAT}. */ @CheckResult public RequestOptions encodeFormat(@NonNull Bitmap.CompressFormat format) { return set(BitmapEncoder.COMPRESSION_FORMAT, Preconditions.checkNotNull(format)); }
/** * Sets the value for key * {@link BitmapEncoder#COMPRESSION_QUALITY}. */ @CheckResult public RequestOptions encodeQuality(@IntRange(from = 0, to = 100) int quality) { return set(BitmapEncoder.COMPRESSION_QUALITY, quality); }
/** * Sets the value for key * {@link com.bumptech.glide.load.resource.bitmap.BitmapEncoder#COMPRESSION_FORMAT}. */ public RequestOptions encodeFormat(@NonNull Bitmap.CompressFormat format) { return set(BitmapEncoder.COMPRESSION_FORMAT, Preconditions.checkNotNull(format)); }
/** * Sets the value for key * {@link BitmapEncoder#COMPRESSION_QUALITY}. */ public RequestOptions encodeQuality(int quality) { return set(BitmapEncoder.COMPRESSION_QUALITY, quality); }