com.bumptech.glide.load.resource.transcode.GifDrawableBytesTranscoder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of glide Show documentation
Show all versions of glide Show documentation
A fast and efficient image loading library for Android focused on smooth scrolling.
package com.bumptech.glide.load.resource.transcode;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.load.Options;
import com.bumptech.glide.load.engine.Resource;
import com.bumptech.glide.load.resource.bytes.BytesResource;
import com.bumptech.glide.load.resource.gif.GifDrawable;
import com.bumptech.glide.util.ByteBufferUtil;
import java.nio.ByteBuffer;
/**
* An {@link com.bumptech.glide.load.resource.transcode.ResourceTranscoder} that converts {@link
* com.bumptech.glide.load.resource.gif.GifDrawable} into bytes by obtaining the original bytes of
* the GIF from the {@link com.bumptech.glide.load.resource.gif.GifDrawable}.
*/
public class GifDrawableBytesTranscoder implements ResourceTranscoder {
@Nullable
@Override
public Resource transcode(
@NonNull Resource toTranscode, @NonNull Options options) {
GifDrawable gifData = toTranscode.get();
ByteBuffer byteBuffer = gifData.getBuffer();
return new BytesResource(ByteBufferUtil.toBytes(byteBuffer));
}
}