Android Open Source - ion Transform Bitmap From Project Back to project page ion .
License The source code is released under:
Apache License
If you think the Android project ion listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.koushikdutta.ion;
/ / w w w . j a v a 2 s . c o m
import android.graphics.Bitmap;
import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.bitmap.BitmapInfo;
import com.koushikdutta.ion.bitmap.PostProcess;
import com.koushikdutta.ion.bitmap.Transform;
import java.util.ArrayList;
class TransformBitmap extends BitmapCallback implements FutureCallback<BitmapInfo> {
static class PostProcessNullTransform implements Transform {
String key;
public PostProcessNullTransform(String key) {
this.key = key;
}
@Override
public Bitmap transform(Bitmap b) {
return b;
}
@Override
public String key() {
return key;
}
}
ArrayList<Transform> transforms;
ArrayList<PostProcess> postProcess;
String downloadKey;
public TransformBitmap(Ion ion, String transformKey, String downloadKey, ArrayList<Transform> transforms, ArrayList<PostProcess> postProcess) {
super (ion, transformKey, true);
this.transforms = transforms;
this.downloadKey = downloadKey;
this.postProcess = postProcess;
}
@Override
public void onCompleted(Exception e, final BitmapInfo result) {
if (e != null) {
report(e, null);
return ;
}
if (ion.bitmapsPending.tag(key) != this ) {
// Log.d("IonBitmapLoader", "Bitmap transform cancelled (no longer needed)");
return ;
}
Ion.getBitmapLoadExecutorService().execute(new Runnable() {
@Override
public void run() {
if (ion.bitmapsPending.tag(key) != TransformBitmap.this) {
// Log.d("IonBitmapLoader", "Bitmap transform cancelled (no longer needed)");
return ;
}
BitmapInfo info;
try {
Bitmap bitmap = result.bitmap;
for (Transform transform : transforms) {
bitmap = transform.transform(bitmap);
if (bitmap == null)
throw new Exception("failed to transform bitmap" );
}
info = new BitmapInfo(key, result.mimeType, bitmap, result.originalSize);
info.loadedFrom = result.loadedFrom;
if (postProcess != null) {
for (PostProcess p: postProcess) {
p.postProcess(info);
}
}
report(null, info);
}
catch (OutOfMemoryError e) {
report(new Exception(e), null);
}
catch (Exception e) {
report(e, null);
}
}
});
}
}
Java Source Code List com.koushikdutta.ion.BitmapCallback.java com.koushikdutta.ion.BitmapFetcher.java com.koushikdutta.ion.BitmapInfoToBitmap.java com.koushikdutta.ion.ContextReference.java com.koushikdutta.ion.DefaultTransform.java com.koushikdutta.ion.DeferredLoadBitmap.java com.koushikdutta.ion.FileCacheStore.java com.koushikdutta.ion.HeadersCallback.java com.koushikdutta.ion.HeadersResponse.java com.koushikdutta.ion.ImageViewBitmapInfo.java com.koushikdutta.ion.ImageViewFutureImpl.java com.koushikdutta.ion.InputStreamParser.java com.koushikdutta.ion.IonBitmapRequestBuilder.java com.koushikdutta.ion.IonDrawable.java com.koushikdutta.ion.IonImageViewRequestBuilder.java com.koushikdutta.ion.IonLog.java com.koushikdutta.ion.IonRequestBuilder.java com.koushikdutta.ion.Ion.java com.koushikdutta.ion.LoadBitmapBase.java com.koushikdutta.ion.LoadBitmapEmitter.java com.koushikdutta.ion.LoadBitmapRegion.java com.koushikdutta.ion.LoadBitmap.java com.koushikdutta.ion.LoadDeepZoom.java com.koushikdutta.ion.Loader.java com.koushikdutta.ion.ProgressCallback.java com.koushikdutta.ion.RequestBodyUploadObserver.java com.koushikdutta.ion.Response.java com.koushikdutta.ion.ScaleMode.java com.koushikdutta.ion.TransformBitmap.java com.koushikdutta.ion.bitmap.BitmapDecodeException.java com.koushikdutta.ion.bitmap.BitmapInfo.java com.koushikdutta.ion.bitmap.Exif.java com.koushikdutta.ion.bitmap.IonBitmapCache.java com.koushikdutta.ion.bitmap.LocallyCachedStatus.java com.koushikdutta.ion.bitmap.LruBitmapCache.java com.koushikdutta.ion.bitmap.MarkableInputStream.java com.koushikdutta.ion.bitmap.PostProcess.java com.koushikdutta.ion.bitmap.SoftReferenceHashtable.java com.koushikdutta.ion.bitmap.Transform.java com.koushikdutta.ion.builder.AnimateGifMode.java com.koushikdutta.ion.builder.BitmapBuilder.java com.koushikdutta.ion.builder.BitmapFutureBuilder.java com.koushikdutta.ion.builder.Builders.java com.koushikdutta.ion.builder.FutureBuilder.java com.koushikdutta.ion.builder.GsonFutureBuilder.java com.koushikdutta.ion.builder.ImageViewBuilder.java com.koushikdutta.ion.builder.ImageViewFutureBuilder.java com.koushikdutta.ion.builder.LoadBuilder.java com.koushikdutta.ion.builder.LoadImageViewFutureBuilder.java com.koushikdutta.ion.builder.MultipartBodyBuilder.java com.koushikdutta.ion.builder.RequestBuilder.java com.koushikdutta.ion.builder.UrlEncodedBuilder.java com.koushikdutta.ion.conscrypt.ConscryptMiddleware.java com.koushikdutta.ion.cookie.CookieMiddleware.java com.koushikdutta.ion.future.ImageViewFuture.java com.koushikdutta.ion.future.ResponseFuture.java com.koushikdutta.ion.gif.GifDecoder.java com.koushikdutta.ion.gif.GifFrame.java com.koushikdutta.ion.gson.GsonArrayParser.java com.koushikdutta.ion.gson.GsonBody.java com.koushikdutta.ion.gson.GsonObjectParser.java com.koushikdutta.ion.gson.GsonParser.java com.koushikdutta.ion.gson.GsonSerializer.java com.koushikdutta.ion.gson.PojoBody.java com.koushikdutta.ion.loader.AssetLoader.java com.koushikdutta.ion.loader.AsyncHttpRequestFactory.java com.koushikdutta.ion.loader.ContentLoader.java com.koushikdutta.ion.loader.FileLoader.java com.koushikdutta.ion.loader.HttpLoader.java com.koushikdutta.ion.loader.InputStreamDataEmitterFuture.java com.koushikdutta.ion.loader.MediaFile.java com.koushikdutta.ion.loader.MtpConstants.java com.koushikdutta.ion.loader.PackageIconLoader.java com.koushikdutta.ion.loader.ResourceLoader.java com.koushikdutta.ion.loader.SimpleLoader.java com.koushikdutta.ion.loader.StreamLoader.java com.koushikdutta.ion.loader.VideoLoader.java com.koushikdutta.ion.sample.DeepZoomSample.java com.koushikdutta.ion.sample.GallerySample.java com.koushikdutta.ion.sample.GoogleImageSearch.java com.koushikdutta.ion.sample.ImageViewSample.java com.koushikdutta.ion.sample.LollipopTransitionFullscreen.java com.koushikdutta.ion.sample.LollipopTransition.java com.koushikdutta.ion.sample.ProgressBarDownload.java com.koushikdutta.ion.sample.ProgressBarUpload.java com.koushikdutta.ion.sample.SampleApplication.java com.koushikdutta.ion.sample.Samples.java com.koushikdutta.ion.sample.SquaredImageView.java com.koushikdutta.ion.sample.TwitterGson.java com.koushikdutta.ion.sample.Twitter.java