美文网首页
图片压缩——Siren

图片压缩——Siren

作者: Sunhee21 | 来源:发表于2019-06-04 11:04 被阅读0次

简易图片压缩封装——Siren

图片压缩方式简略介绍 image.png

两个源码比较鲜明易懂的框架

鲁班压缩

https://github.com/Curzibn/Luban

鲁班主要向微信朋友圈的压缩质量靠近 代码风格写的舒服 但是里面只用了采样压缩和质量压缩

印度老哥写的压缩

https://github.com/zetbaitsu/Compressor

印度老哥里面压缩文件就2个,里面用了像素压缩,设置宽高后按照目标宽高,把原图宽高取目标宽高的最短边按比例压缩,例如: 1920 * 1080 的图,目标宽高2000 * 500,最终成像888*500。

→→结合(抄袭)两者自己封装了一个Siren
(不太好的地方就是目前采用回调的方式)

用法

Kotlin Code

private lateinit var photos: MutableList<ICompressObject>

val mSiren1 = Siren.with(this)
    .setMaxWidth(960)
    .setMaxHeight(540)
    .setCacheDir("${this.filesDir}/image/960*540_q100")
    .setQuality(100)
    .setCompressListener(object : ICompress.CompressListener {

        override fun onStart() {
            timer = System.currentTimeMillis();
        }

        override fun onNext(file: File?) {
        //每压缩一个文件都会经过这个方法
            Log.d(TAG,"File1-------->${file?.absolutePath}")
        }

        override fun onComplete(photos: MutableList<File>) {
            //压缩成功的图片们
              Toast.makeText(this@MainActivity,photos[0].absolutePath,Toast.LENGTH_SHORT).show()
            Log.d(TAG,"timer-------->${System.currentTimeMillis()-timer}")
        }
        override fun onFail(photos: MutableList<ICompressObject>, error: String?) {
            //压缩失败的图片们
            Toast.makeText(this@MainActivity,error,Toast.LENGTH_SHORT).show()
        }

    })
    .build()//生成一种压缩配置的Siren对象 之后这个对象压缩出来的都是这个配置

mSiren1.load(photos).compress()//单张的方法名一样。不要连续调用,等上次压缩Complete才能再执行load

相关文章

  • 图片压缩——Siren

    简易图片压缩封装——Siren 图片压缩方式简略介绍image.png 两个源码比较鲜明易懂的框架 鲁班压缩 ht...

  • 图片压缩组件

    图片压缩 图片压缩

  • iOS 图片压缩方法

    两种图片压缩方法 两种图片压缩方法:压缩图片质量(Quality),压缩图片尺寸(Size)。 压缩图片质量 通过...

  • iOS 图片压缩限制大小最优解

    iOS 图片压缩限制大小最优解 图片的两种压缩方法 1.1 压缩图片质量 1.2 压缩图片尺寸 压缩图片使图片文件...

  • iOS 图片压缩限制大小最优解

    概要: 图片的两种压缩方法1.1 压缩图片质量1.2 压缩图片尺寸压缩图片使图片文件小于指定大小2.1 压缩图片质...

  • iOS 图片压缩限制大小

    一、两种图片压缩方法 两种压缩图片的方法:压缩图片质量(Quality),压缩图片尺寸(Size)。 压缩图片质量...

  • Siren(诡魅海妖)

    Siren Season 1‎ (2018) Siren Season 2‎ (2019)

  • iOS 图片压缩方法

    两种图片压缩方法 两种压缩图片的方法:压缩图片质量(Quality),压缩图片尺寸(Size)。 压缩图片质量 N...

  • 图片压缩方法

    两种图片压缩方法 压缩图片质量(quality)、压缩图片尺寸(size) 压缩图片质量 或 前者可以控制压缩比例...

  • 图片懒加载之高斯模糊

    压缩原始图片 将原始图片压缩至1~2kb甚至更小的图片nature.jpg 压缩 java 图片压缩natur...

网友评论

      本文标题:图片压缩——Siren

      本文链接:https://www.haomeiwen.com/subject/hlllxctx.html