下面列出了怎么用com.bumptech.glide.load.resource.bitmap.CenterCrop的API类实例代码及写法,或者点击链接到github查看源代码。
public ThumbnailView(final Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
inflate(context, R.layout.thumbnail_view, this);
this.image = findViewById(R.id.thumbnail_image);
this.blurhash = findViewById(R.id.thumbnail_blurhash);
this.playOverlay = findViewById(R.id.play_overlay);
this.captionIcon = findViewById(R.id.thumbnail_caption_icon);
super.setOnClickListener(new ThumbnailClickDispatcher());
if (attrs != null) {
TypedArray typedArray = context.getTheme().obtainStyledAttributes(attrs, R.styleable.ThumbnailView, 0, 0);
bounds[MIN_WIDTH] = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_minWidth, 0);
bounds[MAX_WIDTH] = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_maxWidth, 0);
bounds[MIN_HEIGHT] = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_minHeight, 0);
bounds[MAX_HEIGHT] = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_maxHeight, 0);
radius = typedArray.getDimensionPixelSize(R.styleable.ThumbnailView_thumbnail_radius, getResources().getDimensionPixelSize(R.dimen.thumbnail_default_radius));
fit = typedArray.getInt(R.styleable.ThumbnailView_thumbnail_fit, 0) == 1 ? new FitCenter() : new CenterCrop();
typedArray.recycle();
} else {
radius = getResources().getDimensionPixelSize(R.dimen.message_corner_collapse_radius);
}
}
public ListenableFuture<Boolean> setImageResource(@NonNull GlideRequests glideRequests, @NonNull Uri uri, int width, int height) {
SettableFuture<Boolean> future = new SettableFuture<>();
if (transferControls.isPresent()) getTransferControls().setVisibility(View.GONE);
GlideRequest request = glideRequests.load(new DecryptableUri(uri))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.transition(withCrossFade());
if (width > 0 && height > 0) {
request = request.override(width, height);
}
if (radius > 0) {
request = request.transforms(new CenterCrop(), new RoundedCorners(radius));
} else {
request = request.transforms(new CenterCrop());
}
request.into(new GlideDrawableListeningTarget(image, future));
blurhash.setImageDrawable(null);
return future;
}
@Override
protected void convert(BaseViewHolder helper, ScheduleNewItem item) {
helper.setText(R.id.schedule_new_title, item.getTitle())
.setText(R.id.schedule_new_spot, item.getSpot())
.setText(R.id.schedule_new_type, item.getType())
.setText(R.id.schedule_new_desc, item.getDesc());
mImageLoader.loadImage(getContext(),
GlideImageConfig
.builder()
.url(item.getImgUrl())
.transformation(
new MultiTransformation<>(new CenterCrop(),
new RoundedCornersTransformation(DimenUtils.dpToPx(getContext(), 4), 0)))
.imageView((ImageView) helper.getView(R.id.schedule_new_img))
.build()
);
}
@SuppressWarnings("unchecked")
private void setupGlideOptions() {
options = new RequestOptions();
if (isShapeCircle) {
if (Defaults.CIRCLE_RADIUS > 0) {
options.transforms(new CenterCrop(), new RoundedCorners(Defaults.CIRCLE_RADIUS));
} else {
options.circleCrop();
}
}
options.override(Defaults.IMAGE_HEIGHT, Defaults.IMAGE_HEIGHT);
options.placeholder(placeholder_image);
options.priority(Priority.HIGH);
}
@SuppressWarnings("unchecked")
private void setupGlideOptions() {
options = new RequestOptions();
int size;
if (isShapeCircle) {
if (Defaults.CIRCLE_RADIUS > 0) {
size = (int) (0.65 * Defaults.IMAGE_HEIGHT);
options.transforms(new CenterCrop(), new RoundedCorners(Defaults.CIRCLE_RADIUS));
} else {
size = Defaults.IMAGE_HEIGHT;
options.circleCrop();
}
} else {
size = (int) (0.65 * Defaults.IMAGE_HEIGHT);
}
options.override(size, size);
options.error(error_image);
options.priority(Priority.HIGH);
}
@SuppressWarnings("unchecked")
private void setupGlideOptions() {
options = new RequestOptions();
if (isShapeCircle) {
if (Defaults.CIRCLE_RADIUS > 0) {
options.transforms(new CenterCrop(), new RoundedCorners(Defaults.CIRCLE_RADIUS));
} else {
options.circleCrop();
}
}
options.override(Defaults.IMAGE_HEIGHT, Defaults.IMAGE_HEIGHT);
options.placeholder(placeholder_image);
options.priority(Priority.HIGH);
}
@SuppressWarnings({ "unchecked", "deprecation" })
private void setupGlideOptions() {
options = new RequestOptions();
int size;
if (isShapeCircle) {
if (Defaults.CIRCLE_RADIUS > 0) {
size = (int) (0.65 * Defaults.IMAGE_HEIGHT);
options.transforms(new CenterCrop(), new RoundedCorners(Defaults.CIRCLE_RADIUS));
} else {
size = Defaults.IMAGE_HEIGHT;
options.circleCrop();
}
} else {
size = (int) (0.65 * Defaults.IMAGE_HEIGHT);
}
options.override(size, size);
options.error(error_image);
options.priority(Priority.HIGH);
}
@Override
public void onNext() {
storyStatusView.pause();
++counter;
target.setModel(statusResources[counter]);
Glide.with(image.getContext())
.load(target.getModel())
.asBitmap()
.crossFade()
.centerCrop()
.skipMemoryCache(!isCaching)
.diskCacheStrategy(isCaching ? DiskCacheStrategy.ALL : DiskCacheStrategy.NONE)
.transform(new CenterCrop(image.getContext()), new DelayBitmapTransformation(1000))
.listener(new LoggingListener<String, Bitmap>())
.into(target);
}
@Override
public void onPrev() {
if (counter - 1 < 0) return;
storyStatusView.pause();
--counter;
target.setModel(statusResources[counter]);
Glide.with(image.getContext())
.load(target.getModel())
.asBitmap()
.centerCrop()
.crossFade()
.skipMemoryCache(!isCaching)
.diskCacheStrategy(isCaching ? DiskCacheStrategy.ALL : DiskCacheStrategy.NONE)
.transform(new CenterCrop(image.getContext()), new DelayBitmapTransformation(1000))
.listener(new LoggingListener<String, Bitmap>())
.into(target);
}
public Target<Drawable> loadWithColorPlaceholderRoundCorners(String image, int radius,
ImageView previewImage, @AttrRes int colorResource,
RequestListener<Drawable> requestListener) {
Context context = weakContext.get();
if (context != null) {
return Glide.with(context)
.load(image)
.apply(getRequestOptions().centerCrop()
.placeholder(new ColorDrawable(getAttrColor(colorResource)))
.transforms(new CenterCrop(), new RoundedCorners(radius)))
.listener(requestListener)
.transition(DrawableTransitionOptions.withCrossFade())
.into(previewImage);
}
return null;
}
@Override protected void load(Context context) throws Exception {
String url = "http://placehold.it/3000x2000/AAFF00/000000&text=IMAGE";
int[] requestedSize = new int[] {540, 540};
Glide
.with(this)
.load(url)
.override(requestedSize[0], requestedSize[1])
.transform(new DelayBitmapTransformation(3000), new CenterCrop(context))
.skipMemoryCache(true)
.diskCacheStrategy(NONE)
.listener(new LoggingListener<String, GlideDrawable>())
.thumbnail(Glide
.with(this)
.load(url)
.override(512, 384)
.transform(new DelayBitmapTransformation(1000), new CenterCrop(context))
.skipMemoryCache(true)
.diskCacheStrategy(NONE)
.listener(new LoggingListener<String, GlideDrawable>())
)
.into(imageView)
;
}
public static void loadAvatar(RequestManager glide, ImageView view, String avatarUrl) {
avatarUrl = Utils.nullToText(avatarUrl);
String cacheKey = AVATAR_CACHE_KEYS.get(avatarUrl);
if (cacheKey == null) {
cacheKey = avatarUrl;
}
if (HiSettingsHelper.getInstance().isCircleAvatar()) {
glide.load(new AvatarModel(avatarUrl))
.signature(new ObjectKey(cacheKey))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.circleCrop()
.error(DEFAULT_USER_ICON)
.transition(DrawableTransitionOptions.withCrossFade())
.into(view);
} else {
glide.load(new AvatarModel(avatarUrl))
.signature(new ObjectKey(cacheKey))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.transform(new CenterCrop(), new RoundedCorners(Utils.dpToPx(4)))
.error(DEFAULT_USER_ICON)
.transition(DrawableTransitionOptions.withCrossFade())
.into(view);
}
}
public static void loadVideoMask(Context context, String path, ImageView imgView, int maskResId) {
LogUtil.i(TAG, "loadMask video path:" + path);
Glide.with(context)
.setDefaultRequestOptions(getVideoOptions())
.load(path)
.apply(RequestOptions.bitmapTransform(
new MultiTransformation<>(new CenterCrop(), new MaskTransformation(maskResId))))
.thumbnail(THUMB_NAIL)
.into(imgView);
}
public static void loadMask(Context context, String path, ImageView imgView, int maskResId) {
LogUtil.i(TAG, "loadMask path:" + path);
Glide.with(context)
.setDefaultRequestOptions(getOptions())
.load(path)
.apply(RequestOptions.bitmapTransform(
new MultiTransformation<>(new CenterCrop(), new MaskTransformation(maskResId))))
.thumbnail(THUMB_NAIL)
.into(imgView);
}
public static void loadRoundImg(Context context, int imgResId, ImageView imgView) {
LogUtil.i(TAG, "loadMask imgResId:");
Glide.with(context)
.setDefaultRequestOptions(getPortraitOptions())
.load(imgResId)
.apply(RequestOptions.bitmapTransform(new MultiTransformation<>(new CenterCrop(),
new RoundedCornersTransformation(ScreenUtils.dp2px(context, 4), 0))))
.thumbnail(THUMB_NAIL)
.into(imgView);
}
public static void loadBlurredIconIntoViewBackground(@NonNull Recipient recipient, @NonNull View target) {
Context context = target.getContext();
if (recipient.getContactPhoto() == null) {
target.setBackgroundColor(ContextCompat.getColor(target.getContext(), R.color.black));
return;
}
GlideApp.with(target)
.load(recipient.getContactPhoto())
.transform(new CenterCrop(), new BlurTransformation(context, 0.25f, BlurTransformation.MAX_RADIUS))
.into(new CustomViewTarget<View, Drawable>(target) {
@Override
public void onLoadFailed(@Nullable Drawable errorDrawable) {
target.setBackgroundColor(ContextCompat.getColor(target.getContext(), R.color.black));
}
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
target.setBackground(resource);
}
@Override
protected void onResourceCleared(@Nullable Drawable placeholder) {
target.setBackground(placeholder);
}
});
}
private void onCaptureClicked() {
orderEnforcer.reset();
Stopwatch fastCaptureTimer = new Stopwatch("Capture");
camera.capture((jpegData, frontFacing) -> {
fastCaptureTimer.split("captured");
Transformation<Bitmap> transformation = frontFacing ? new MultiTransformation<>(new CenterCrop(), new FlipTransformation())
: new CenterCrop();
GlideApp.with(this)
.asBitmap()
.load(jpegData)
.transform(transformation)
.override(cameraPreview.getWidth(), cameraPreview.getHeight())
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
fastCaptureTimer.split("transform");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
resource.compress(Bitmap.CompressFormat.JPEG, 80, stream);
fastCaptureTimer.split("compressed");
byte[] data = stream.toByteArray();
fastCaptureTimer.split("bytes");
fastCaptureTimer.stop(TAG);
controller.onImageCaptured(data, resource.getWidth(), resource.getHeight());
}
@Override
public void onLoadFailed(@Nullable Drawable errorDrawable) {
controller.onCameraError();
}
});
});
}
private RequestBuilder buildPlaceholderGlideRequest(@NonNull GlideRequests glideRequests, @NonNull Slide slide) {
GlideRequest<Bitmap> bitmap = glideRequests.asBitmap();
BlurHash placeholderBlur = slide.getPlaceholderBlur();
if (placeholderBlur != null) {
bitmap = bitmap.load(placeholderBlur);
} else {
bitmap = bitmap.load(slide.getPlaceholderRes(getContext().getTheme()));
}
return applySizing(bitmap.diskCacheStrategy(DiskCacheStrategy.NONE), new CenterCrop());
}
@Override
protected void convert(BaseViewHolder helper, ScheduleRecommend item) {
helper.setText(R.id.tv_schedule_recommand, item.getName());
mImageLoader.loadImage(getContext(),
GlideImageConfig
.builder()
.url(item.getImgUrl())
.transformation(
new MultiTransformation<>(new CenterCrop(),
new RoundedCornersTransformation(20, 0)))
.imageView((ImageView) helper.getView(R.id.img_schedule_recommand))
.build()
);
}
@Override
protected void convert(BaseViewHolder helper, ScheduleCache item) {
helper.setText(R.id.tv_schedule_collection_name, item.getName());
mImageLoader.loadImage(getContext(),
GlideImageConfig
.builder()
.url(item.getImgUrl())
.transformation(
new MultiTransformation<>(new CenterCrop(),
new RoundedCornersTransformation(DimenUtils.dpToPx(getContext(), 4), 0)))
.imageView((ImageView) helper.getView(R.id.img_schedule_collection))
.build()
);
}
public static void displayEmojiconByImageSrc(final Activity context, final String imageSrc, final ImageView headView, final int w, final int h){
if(context == null){
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
if(context.isDestroyed()){
return;
}
}
if(TextUtils.isEmpty(imageSrc) || headView == null){
return;
}
context.runOnUiThread(new Runnable() {
@Override
public void run() {
//glide
Glide.with(context)
//配置上下文
.load(imageSrc)
// .load(new MyGlideUrl(imageSrc)) //设置图片路径(fix #8,文件名包含%符号 无法识别和显示)
.asBitmap()
// .error(defaultRes)
.centerCrop()
.thumbnail(0.1f)
.transform(new CenterCrop(context))
.placeholder(defaultRes)
.override(w > 0 ? w + 5 : Target.SIZE_ORIGINAL, h > 0 ? h + 5 : Target.SIZE_ORIGINAL)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//缓存全尺寸
.dontAnimate()
.into(headView);
}
});
}
public static void displayGravatarByImageSrc(final Activity context, final String imageSrc, final ImageView headView, final int w, final int h){
if(context == null){
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
if(context.isDestroyed()){
return;
}
}
if(TextUtils.isEmpty(imageSrc) || headView == null){
return;
}
context.runOnUiThread(new Runnable() {
@Override
public void run() {
//glide
Glide.with(context)
// .load(imageSrc)//配置上下文
.load(new MyGlideUrl(imageSrc)) //设置图片路径(fix #8,文件名包含%符号 无法识别和显示)
.asBitmap()
// .error(defaultRes)
.centerCrop()
.thumbnail(0.1f)
.transform(new CenterCrop(context)
,new GlideCircleTransform(context))
.placeholder(defaultRes)
.override(w > 0 ? w + 5 : Target.SIZE_ORIGINAL, h > 0 ? h + 5 : Target.SIZE_ORIGINAL)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//缓存全尺寸
.dontAnimate()
.into(headView);
}
});
}
public static void displayMedalSmallByImageSrc(final Activity context, final String imageSrc, final ImageView headView, final int w, final int h){
if(context == null){
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
if(context.isDestroyed()){
return;
}
}
if(TextUtils.isEmpty(imageSrc) || headView == null){
return;
}
context.runOnUiThread(new Runnable() {
@Override
public void run() {
//glide
Glide.with(context)
// .load(imageSrc)//配置上下文
.load(new MyGlideUrl(imageSrc)) //设置图片路径(fix #8,文件名包含%符号 无法识别和显示)
.asBitmap()
// .error(defaultRes)
.centerCrop()
.thumbnail(0.1f)
.transform(new CenterCrop(context)
,new GlideCircleTransform(context))
.placeholder(defaultRes)
.override(w > 0 ? w + 5 : Target.SIZE_ORIGINAL, h > 0 ? h + 5 : Target.SIZE_ORIGINAL)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//缓存全尺寸
.dontAnimate()
.into(headView);
}
});
}
public static void displaySquareByImageSrc(final Activity context, final String imageSrc, final ImageView headView, final int w, final int h){
if(context == null){
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
if(context.isDestroyed()){
return;
}
}
if(TextUtils.isEmpty(imageSrc) || headView == null){
return;
}
context.runOnUiThread(new Runnable() {
@Override
public void run() {
//glide
Glide.with(context)
// .load(imageSrc)//配置上下文
.load(new MyGlideUrl(imageSrc)) //设置图片路径(fix #8,文件名包含%符号 无法识别和显示)
.asBitmap()
// .error(defaultRes)
.centerCrop()
.thumbnail(0.1f)
.transform(new CenterCrop(context)
)
.placeholder(workworldDefault)
.override(w > 0 ? w + 5 : Target.SIZE_ORIGINAL, h > 0 ? h + 5 : Target.SIZE_ORIGINAL)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//缓存全尺寸
.dontAnimate()
.into(headView);
}
});
}
public static void displayLinkImgByImageSrc(final Activity context, final String imageSrc, final Drawable error, final ImageView headView, final int w, final int h){
if(context == null){
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
if(context.isDestroyed()){
return;
}
}
if(TextUtils.isEmpty(imageSrc) || headView == null){
return;
}
context.runOnUiThread(new Runnable() {
@Override
public void run() {
//glide
Glide.with(context)
// .load(imageSrc)//配置上下文
.load(new MyGlideUrl(imageSrc)) //设置图片路径(fix #8,文件名包含%符号 无法识别和显示)
.asBitmap()
// .error(defaultRes)
.centerCrop()
.thumbnail(0.1f)
.transform(new CenterCrop(context)
)
.placeholder(error)
.error(error)
.override(w > 0 ? w + 5 : Target.SIZE_ORIGINAL, h > 0 ? h + 5 : Target.SIZE_ORIGINAL)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//缓存全尺寸
.dontAnimate()
.into(headView);
}
});
}
/**
* Movie details poster image
*/
@BindingAdapter({"imageUrl"})
public static void bindImage(ImageView imageView, String imagePath) {
GlideApp.with(imageView.getContext())
.load(Constants.IMAGE_URL + imagePath)
.placeholder(R.color.md_grey_200)
.apply(new RequestOptions().transforms(new CenterCrop(),
new RoundedCorners((int) UiUtils.dipToPixels(imageView.getContext(), 8))))
.into(imageView);
}
public MainImageAdapter(Context context) {
this.list = new ArrayList<>();
int size = (Utility.WIDTH / SPAN_COUNT) - (MARGIN / 2);
layoutParams = new FrameLayout.LayoutParams(size, size);
layoutParams.setMargins(MARGIN, MARGIN - (MARGIN / 2), MARGIN, MARGIN - (MARGIN / 2));
options = new RequestOptions().override(300).transform(new CenterCrop()).transform(new FitCenter());
glide = Glide.with(context);
}
public InstantImageAdapter(Context context) {
this.list = new ArrayList<>();
size = Utility.convertDpToPixel(72, context) - 2;
padding = (int) (size / 3.5);
glide = Glide.with(context);
options = new RequestOptions().override(256).transform(new CenterCrop()).transform(new FitCenter());
}
public void setCoverImage(String image) {
Glide.with(this).load(image)
.apply(new RequestOptions().dontAnimate().centerCrop()
.transform(new CenterCrop(), new CircleCrop())
.error(R.drawable.img_cover_default)
.placeholder(R.drawable.img_cover_default)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE))
.into(ivCover);
}
@NonNull
@GlideOption
public static RequestOptions roundedCornerImage(RequestOptions options, @NonNull Context context, int radius) {
if (radius > 0) {
int px = Math.round(radius * (context.getResources().getDisplayMetrics().xdpi / DisplayMetrics.DENSITY_DEFAULT));
return options.transforms(new CenterCrop(), new RoundedCorners(px));
}
return options.transforms(new CenterCrop());
}