BitmapBytesTranscoder.java revision ac28599e2b40e0dd6b97f6a91849585531264622
1package com.bumptech.glide.load.resource.transcode; 2 3import android.graphics.Bitmap; 4import com.bumptech.glide.Resource; 5import com.bumptech.glide.load.resource.bytes.BytesResource; 6 7import java.io.ByteArrayOutputStream; 8 9public class BitmapBytesTranscoder implements ResourceTranscoder<Bitmap, byte[]> { 10 private final Bitmap.CompressFormat compressFormat; 11 private final int quality; 12 13 public BitmapBytesTranscoder() { 14 this(Bitmap.CompressFormat.JPEG, 100); 15 } 16 17 public BitmapBytesTranscoder(Bitmap.CompressFormat compressFormat, int quality) { 18 this.compressFormat = compressFormat; 19 this.quality = quality; 20 } 21 22 @Override 23 public Resource<byte[]> transcode(Resource<Bitmap> toTranscode) { 24 ByteArrayOutputStream os = new ByteArrayOutputStream(); 25 toTranscode.get().compress(compressFormat, quality, os); 26 toTranscode.recycle(); 27 return new BytesResource(os.toByteArray()); 28 } 29 30 @Override 31 public String getId() { 32 return "BitmapBytesTranscoder.com.bumptech.glide.load.data.transcode"; 33 } 34} 35