本文摘自PHP中文网,作者铁手,侵删。
最近用electron-vue(Electron :基于 Chromium 和 Node.js, 让你可以使用 HTML, CSS 和 JavaScript 构建应用)撸了一个图片压缩的小软件,平时工作还是需要用得到的,支持常用的图片格式;可以设置压缩比例
1、支持设置固定宽高
2、支持固定宽或高(按原图比例缩小)
3、支持等比例缩小
具体操作如下:
1、前端把图片的路径和保存压缩后的路径传给后端,这个通过electron事件通讯就可以了
调用的是ipcRenderer.send事件,传入一个事件名,后端用ipcRenderer.on接收即可,
这里需要注意一下,我们使用ipcRenderer.once接收一次就可以,避免重复接收消息。
具体参考如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
2、后端刚开始考虑用image-size这个库获取图片的宽高;用法如下:只需要传入图片的路径即可
1 2 3 4 5 6 7 |
|
经测试后发现了一点小问题,就是偶尔出现获取失败的情况,既然有问题那就不能使用了。后面经查询用这个probe-image-size库是没有问题的,使用方式如下:
1 2 3 4 5 6 7 |
|
3、最后执行压缩即可,传入输出图片路径和保存的宽高,调用resize-optimize-images这个库,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
总结:
以上就是在使用image-size过程中碰到的一点小问题,虽然没有从根源解决问题,但是也能从中学习到一些东西,有时候想要达到自己想要的功能就不能固定使用一种方式,需要学会变通,更重要的是要学会分析问题和解决问题。
更多文章请关注木庄网络博客!
以上就是关于electron-vue图片压缩的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《electron-vue》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者