-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PNG图片设置压缩后文件大小变大很多(约10倍) #34
Comments
这个问题,你具体是怎么传的?是拖放或选择图片文件上传,还是截图后直接粘贴的? |
另外你试试把压缩等级调到9,看看还会这样吗?这个压缩是用zlib库压缩的,具体我也不太清楚,你有兴趣可以去看看zlib的9个等级,我建议是用9试试。 |
PNG图片我是选择图片文件上传的。 @xiebruce 今天一直无法上传,Cloudinary无法上传,我切换到阿里云OSS测试也不行,我注释掉 我对照 |
我试了一下,这两个我这边都是正常的,如果你有代理,可以给cloudinary加个代理试试。 至于阿里云,报的是AWS的错,可能是因为我用了兼容S3的接口吧(因为非兼容s3的接口老出问题),这个,我也不知道怎么解决,感觉应该不是代码的问题,因为我这边上传也没问题,我估计你换个网络可能就正常了,如果是笔记本的话,不妨用手机共享个wifi试试,如果是台式机,貌似没法换网络试 报的这些错,都是sdk报的,所以我这也没法调,而且报的都是DNS的问题,不过你ping又没问题,所以,我也不知道怎么调,只能换个网络试试会是什么情况了 |
@xiebruce 我查了下,我本地测试的那张PNG图片,alpha通道未启用(一个像素RGB,3个字节),但是在压缩时设置了Alpha通道(使用RGBA,4个字节)所以压缩后文件大小变大了。 看了下,源码中涉及图片加载、创建、缩放、裁剪等处调用方法 另外,看到源码中EasyImage加载图片方法中imagealphablending方法和imagesavealpha方法顺序是不是反了,需要调整 参考链接: |
不是所有的图片都有Alpha通道,能否在设置Alpha通道时判断原始图片是否启用了Alpha通道,如果未启用则加载图片压缩等处理后也不设置alpha通道。 |
@ncepuwanghui 我感觉那个顺序应该是没关系的吧, |
@ncepuwanghui 我试了一下,用ps的文件→导出→存储为web所用格式,然后设置导出格式为png-8,这样保存的图片就是无alpha通道的png格式图片,我试着把PicUploader里 |
原文件大小:
上传后的文件大小:
压缩参数配置:
请求头:
这个问题看起来和issue #7 有点像
The text was updated successfully, but these errors were encountered: