Java 类com.bumptech.glide.load.resource.bitmap.TransformationUtils 实例源码

项目:TextSecureSMP    文件:ThumbnailTransform.java   
@Override
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  if (toTransform.getWidth() < (outWidth / 2) && toTransform.getHeight() < (outHeight / 2)) {
    return toTransform;
  }

  final float inAspectRatio  = (float) toTransform.getWidth() / toTransform.getHeight();
  final float outAspectRatio = (float) outWidth / outHeight;
  if (inAspectRatio < outAspectRatio) {
    outWidth = (int)(outHeight * inAspectRatio);
  }

  final Bitmap toReuse = pool.get(outWidth, outHeight, toTransform.getConfig() != null
                                                       ? toTransform.getConfig()
                                                       : Bitmap.Config.ARGB_8888);
  Bitmap transformed = TransformationUtils.centerCrop(toReuse, toTransform, outWidth, outHeight);
  if (toReuse != null && toReuse != transformed && !pool.put(toReuse)) {
    toReuse.recycle();
  }
  return transformed;
}
项目:GitHub    文件:DrawableTransformationTest.java   
/**
 * Transformations that produce a different output color/shape/image etc will end up returning
 * a {@link Bitmap} based on the original {@link Drawable} but with the transformation applied.
 */
@Test
public void load_withColorDrawable_fixedSize_nonUnitRequiredTransform_returnsBitmapDrawable()
    throws ExecutionException, InterruptedException {
  Drawable colorDrawable = new ColorDrawable(Color.RED);

  Drawable result = Glide.with(context)
      .load(colorDrawable)
      .apply(new RequestOptions()
          .circleCrop())
      .submit(100, 100)
      .get();

  Bitmap redSquare = Bitmap.createBitmap(100, 100, Config.ARGB_8888);
  Canvas canvas = new Canvas(redSquare);
  canvas.drawColor(Color.RED);

  BitmapPool bitmapPool = mock(BitmapPool.class);
  when(bitmapPool.get(100, 100, Bitmap.Config.ARGB_8888))
      .thenReturn(Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888));
  Bitmap expected = TransformationUtils.circleCrop(bitmapPool, redSquare, 100, 100);

  assertThat(result).isInstanceOf(BitmapDrawable.class);
  Bitmap bitmap = ((BitmapDrawable) result).getBitmap();
  assertThat(bitmap.getWidth()).isEqualTo(100);
  assertThat(bitmap.getHeight()).isEqualTo(100);
  for (int x = 0; x < bitmap.getWidth(); x++) {
    for (int y = 0; y < bitmap.getHeight(); y++) {
      assertThat(bitmap.getPixel(x, y)).isEqualTo(expected.getPixel(x, y));
    }
  }
}
项目:PeSanKita-android    文件:RoundedCorners.java   
private Bitmap centerCrop(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  final Bitmap toReuse     = pool.get(outWidth, outHeight, getSafeConfig(toTransform));
  final Bitmap transformed = TransformationUtils.centerCrop(toReuse, toTransform, outWidth, outHeight);

  if (toReuse != null && toReuse != transformed && !pool.put(toReuse)) {
    toReuse.recycle();
  }

  return transformed;
}
项目:Cable-Android    文件:RoundedCorners.java   
private Bitmap centerCrop(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  final Bitmap toReuse     = pool.get(outWidth, outHeight, getSafeConfig(toTransform));
  final Bitmap transformed = TransformationUtils.centerCrop(toReuse, toTransform, outWidth, outHeight);

  if (toReuse != null && toReuse != transformed && !pool.put(toReuse)) {
    toReuse.recycle();
  }

  return transformed;
}
项目:Silence    文件:RoundedCorners.java   
private Bitmap centerCrop(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  final Bitmap toReuse     = pool.get(outWidth, outHeight, getSafeConfig(toTransform));
  final Bitmap transformed = TransformationUtils.centerCrop(toReuse, toTransform, outWidth, outHeight);

  if (toReuse != null && toReuse != transformed && !pool.put(toReuse)) {
    toReuse.recycle();
  }

  return transformed;
}
项目:PeSanKita-android    文件:RoundedCorners.java   
private Bitmap fitCenter(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  return TransformationUtils.fitCenter(toTransform, pool, outWidth, outHeight);
}
项目:Cable-Android    文件:RoundedCorners.java   
private Bitmap fitCenter(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  return TransformationUtils.fitCenter(toTransform, pool, outWidth, outHeight);
}
项目:glide-transformations    文件:CropCircleTransformation.java   
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
    @NonNull Bitmap toTransform, int outWidth, int outHeight) {
  return TransformationUtils.circleCrop(pool, toTransform, outWidth, outHeight);
}
项目:glide-transformations    文件:CropSquareTransformation.java   
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
    @NonNull Bitmap toTransform, int outWidth, int outHeight) {
  this.size = Math.max(outWidth, outHeight);
  return TransformationUtils.centerCrop(pool, toTransform, size, size);
}
项目:Silence    文件:RoundedCorners.java   
private Bitmap fitCenter(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
  return TransformationUtils.fitCenter(toTransform, pool, outWidth, outHeight);
}