微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 使用Glide保存已调整大小的图像

是否可以通过在文件中滑动来保存调整大小的图像?
我正在使用此代码
Glide
    .with(context)
    .load(path)
    .override(600,200) 
    .centerCrop() 
    .into(imageViewResizeCenterCrop);

我该怎么办?

谢谢

解决方法

是的,这是可能的.我正在使用我为此特定目的创建的SimpleTarget(在Glide用语中为 custom target)后代.它使用起来非常简单.这是目标代码
import android.graphics.Bitmap;

import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;

import java.io.FileOutputStream;
import java.io.IOException;

public class FileTarget extends SimpleTarget<Bitmap> {
    public FileTarget(String fileName,int width,int height) {
        this(fileName,width,height,Bitmap.CompressFormat.JPEG,70);
    }
    public FileTarget(String fileName,int height,Bitmap.CompressFormat format,int quality) {
        super(width,height);
        this.fileName = fileName;
        this.format = format;
        this.quality = quality;
    }
    String fileName;
    Bitmap.CompressFormat format;
    int quality;
    public void onResourceReady(Bitmap bitmap,GlideAnimation anim) {
            try {
                FileOutputStream out = new FileOutputStream(fileName);
                bitmap.compress(format,quality,out);
                out.flush();
                out.close();
                onFileSaved();
            } catch (IOException e) {
                e.printstacktrace();
                onSaveException(e);
            }
    }
    public void onFileSaved() {
        // do nothing,should be overriden (optional)
    }
    public void onSaveException(Exception e) {
        // do nothing,should be overriden (optional)
    }

}

以下是您在自己的示例中使用它的方法

Glide
    .with(context)
    .load(path)
    .asBitmap()
    .centerCrop()
    .into(new FileTarget(pathToDestination,600,200));

代码不会在任何视图上显示图像,而是将其直接保存到目标.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐