类com.bumptech.glide.load.model.StreamEncoder源码实例Demo

下面列出了怎么用com.bumptech.glide.load.model.StreamEncoder的API类实例代码及写法,或者点击链接到github查看源代码。


@Override public void onAttach(Context context) {
	super.onAttach(context);
	BitmapPool pool = Glide.get(context).getBitmapPool();
	StreamBitmapDecoder bitmapDecoder = new StreamBitmapDecoder(Downsampler.AT_LEAST, pool, DecodeFormat.DEFAULT);
	paletteLoad = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(PaletteBitmap.class)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.encoder(new PaletteBitmapEncoder(new BitmapEncoder(), new PaletteEncoder()))
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(
					new PaletteBitmapDecoder(pool, bitmapDecoder, new PaletteDecoder())))
			.dontAnimate()
			.skipMemoryCache(true) // debug to always go for disk
	;
}
 

@Override public void onAttach(Context context) {
	super.onAttach(context);
	paletteLoad = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(Palette.class)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.encoder(new PaletteCacheEncoder(new PaletteEncoder()))
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(
					new PaletteCacheDecoder(new PaletteDecoder(), new StreamBitmapDecoder(
							Downsampler.AT_MOST, Glide.get(context).getBitmapPool(), DecodeFormat.DEFAULT))))
			.override(256, 256) // rough size of the Bitmap to generate Palette from 
			.dontTransform() // default, but be explicit
			.dontAnimate() // default, but be explicit
			.skipMemoryCache(true) // debug to always go for disk
	;
}
 

@Override
public void attachView(ImageZoomMvpView mvpView) {

    super.attachView(mvpView);

    requestBuilder = Glide.with(getMvpView().getAppContext())
            .using(Glide.buildStreamModelLoader(Uri.class,
                    getMvpView().getAppContext()), InputStream.class)
            .from(Uri.class)
            .as(SVG.class)
            .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
            .sourceEncoder(new StreamEncoder())
            .cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder()))
            .decoder(new SvgDecoder())
            .placeholder(R.drawable.placeholder)
            .error(R.drawable.placeholder)
            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
            .animate(android.R.anim.fade_in);

}
 
源代码4 项目: glide-support   文件: TestFragment.java

@Override public void onAttach(Context context) {
	super.onAttach(context);
	SIZE_REQUEST = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(Options.class)
			.transcode(new OptionsSizeResourceTranscoder(), Size.class)
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new BitmapSizeDecoder())
			.diskCacheStrategy(DiskCacheStrategy.SOURCE)
			.listener(new LoggingListener<Uri, Size>());
}
 
源代码5 项目: MoeGallery   文件: MainModule.java

@Singleton
@Provides
GenericRequestBuilder<GlideUrl, InputStream, byte[], GifDrawable> provideGifRequestBuilder(
        RequestManager requestManager, OkHttpClient okHttpClient) {

    return requestManager.using(new OkHttpUrlLoader(okHttpClient), InputStream.class)
            .from(GlideUrl.class)
            .as(byte[].class)
            .transcode(new GifDrawableBytesTranscoder(), GifDrawable.class)
            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
            .decoder(new StreamByteArrayResourceDecoder())
            .sourceEncoder(new StreamEncoder())
            .cacheDecoder(new FileToStreamDecoder<>(new StreamByteArrayResourceDecoder()));
}
 
源代码6 项目: giffun   文件: GifDrawableLoadProvider.java

public GifDrawableLoadProvider(Context context, BitmapPool bitmapPool) {
    decoder = new GifResourceDecoder(context, bitmapPool);
    cacheDecoder = new FileToStreamDecoder<GifDrawable>(decoder);
    encoder = new GifResourceEncoder(bitmapPool);
    sourceEncoder = new StreamEncoder();
}
 

public StreamBitmapDataLoadProvider(BitmapPool bitmapPool, DecodeFormat decodeFormat) {
    sourceEncoder = new StreamEncoder();
    decoder = new StreamBitmapDecoder(bitmapPool, decodeFormat);
    encoder = new BitmapEncoder();
    cacheDecoder = new FileToStreamDecoder<Bitmap>(decoder);
}
 

public StreamFileDataLoadProvider() {
    cacheDecoder = new FileDecoder();
    encoder = new StreamEncoder();
}
 
源代码9 项目: glide-support   文件: TestFragment.java

@SuppressWarnings("unchecked")
@Override public void onAttach(Context context) {
	super.onAttach(context);
	BitmapPool pool = Glide.get(context).getBitmapPool();
	// default decoder, this is the base complexity Glide.with.load.into() hides from you
	GifBitmapWrapperStreamResourceDecoder decoder = new GifBitmapWrapperStreamResourceDecoder(
			new GifBitmapWrapperResourceDecoder(
					new ImageVideoBitmapDecoder(
							new StreamBitmapDecoder(pool),
							new FileDescriptorBitmapDecoder(context)
					),
					new GifResourceDecoder(context, pool),
					pool
			)
	);

	// all the defaults hardcoded here in order to end up with a normal Drawable instead of a GlideDrawable
	urlGlide = Glide
			.with(this)
			.using(new StreamStringLoader(getActivity()), InputStream.class)
			.from(String.class)
			.as(GifBitmapWrapper.class)
			.transcode(new GeneralizingTranscoder<GifBitmapWrapper, GlideDrawable, Drawable>(
							new GifBitmapWrapperDrawableTranscoder(new GlideBitmapDrawableTranscoder(context))),
					Drawable.class)
			.decoder(decoder)
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(decoder))
			.animate(new AlwaysCrossFade<>(true))
			.encoder(new GifBitmapWrapperResourceEncoder(new BitmapEncoder(), new GifResourceEncoder(pool)))
			.diskCacheStrategy(DiskCacheStrategy.ALL) // just to demonstrate it's working, pick your preference
			.transform(new GifBitmapWrapperTransformation(pool, new FitCenter(context))) // == .fitCenter()
			.listener(new LoggingListener<String, Drawable>("url")) // debug
	;
	// see https://github.com/bumptech/glide/issues/122#issuecomment-99629392
	drawableGlide = Glide
			.with(this)
			.using(new PassthroughModelLoader<Drawable, Drawable>(), Drawable.class)
			.from(Drawable.class)
			.as(Drawable.class)
			// this works even if the drawables don't behave well regarding constantState.newDrawable
			// Beware: might be problematic if constant state is supported, but altered (e.g. color filters)
			.decoder(new SimpleResourceDecoder<Drawable>()) // prefer DrawableResourceDecoder if possible!
			.animate(new AlwaysCrossFade<>(true))
			.diskCacheStrategy(DiskCacheStrategy.NONE)
			.listener(new LoggingListener<Drawable, Drawable>("drawable")) // debug
	;

	// prevents null check the first time
	// don't forge to null everything out explicitly (error/placeholder/fallback/thumbnail), if they're set above
	lastLoad = urlGlide.clone().load(null).listener(null).dontAnimate();
}
 
 类所在包
 类方法
 同包方法