Mozi icon indicating copy to clipboard operation
Mozi copied to clipboard

存在严重 bug,这么多用的人都没发现嘛

Open poos opened this issue 5 years ago • 1 comments

Mozi/Mozi/Classes/Mozi.swift

发现2个严重 bug:

  1. 121行,resize image 方法:

当处于第一区间时候,尺寸不仅没有缩小反而变大了,而鲁班算法会要求 n >= 1 等才会 * factor

let toSize = CGSize(width: self.size.width * factor, height: self.size.height * factor)

事实上已经计算了图片尺寸,不需要再乘以比例系数了

let toSize: CGSize if self.size.height > self.size.width { toSize = CGSize.init(width: size.width, height: size.height) } else { toSize = CGSize.init(width: size.height, height: size.width) }

  1. 141行 压缩大小的方法:

老哥鲁班计算的是 kb, 而你没有* 1024,比较的是字节,99.9%的图片都跑到这里循环10遍,然后返回了 压缩系数 0.1 的值

while CGFloat(data.count) > size && compression > maxCompression {

乘以1024即可换算为 kb

while CGFloat(data.count) > size * 1024 && compression > maxCompression {

60多赞的都没发现嘛。老哥,代码没测好啊。。。

poos avatar Nov 21 '18 02:11 poos

还发现56行类型对应错误

if ratio > 0 && ratio <= 0.5 { // [1:2 ~ 1:∞) self = .rectangle(minValue: minV, maxValue: maxV) 之前对应的是 .square(minValue: minV, maxValue: maxV)

poos avatar Jan 16 '19 07:01 poos