Giter Site home page Giter Site logo

Comments (8)

meowtec avatar meowtec commented on August 17, 2024

Imagine 的设计初衷,是为有损压缩提供实时调整预览效果的能力,让网页素材在肉眼可接受失真范围内尽可能体积。
所以它除了有列表,还有一个单独的页面,用来做压缩前后效果对比(以及随时调整)。

显然 Imagine 对 UI 的要求更高,考虑到跨平台的需求(我工作用 Mac,娱乐用 Windows),就使用了 Electron。

Imagine-0.7.2.exe“便携版”体积有53.6MB,但功能竟然无法代替PngOptimizer+mozjpeg?尤其这两都开源的

用 Electron 开发的,体积能不大吗。功能无法替代 mozjpeg 是因为 没有把 mozjpeg 的参数开放出来。

BTW,现在正在尝试用 Tauri 替代 ELectron,但是 Tauri 的能力偏弱,目前还替换不了。

虽然这是便携格式,但每次启动都会在后台疯狂释放一个app-64.7z...
然后这不是绿色软件,便携版虽然会删除释放的东西...

这是是 Electron Builder 的问题,不清楚有没有选项能控制。

压缩中途每动一下选项,比如压缩率滑动条,就会在系统\AppData\Local\Temp\imagine下生成一张图

因为需要实时预览压缩效果,这些文件是缓存,避免来回调整时每次都生成。

这个后面可以在关闭图片、软件的时候删一下。

没保证无损压缩

Imagine 的整个设计就是围绕有损压缩来搞的,后面可能提供无损的选项。
如果仅仅是需要无损压缩,直接命令行就行了啊。PNG 的话你可以试试 oxipng

...BMP...APNG...

目前的实现是直接 exec 调用 mozjpeg / pngquant 命令行来做的,扩展新能力比较困难。等迁移到 Tauri 的时候会直接调用编解码 API 来做,到时候就可以支持 APNG 压缩、更多输入输出格式。

功能完全覆盖PngOptimizer+mozjpeg的易用图形界面

从来没有考虑过功能完全覆盖 xxx,尤其是完全覆盖命令行工具。
不过呼声较高的参数会考虑暴露出来。

from imagine.

MY1L avatar MY1L commented on August 17, 2024

我十分理解其中多数是Electron的问题,也曾试过国内外各种Electron程序(像是比千千静听大数十倍却属于电子垃圾的“百度音乐”——不知百度收购千千图啥),但都放弃选择其对应的网页版了。我想寻求压缩图片体积的人,可能也在乎软件体积,因此我“功能完全覆盖”的意思是,即便把这些功能都加上,大头还是Electron(指软件体积也不会变更大了)

其实我是个眼高于手的画手,比如头像就我画的,所谓“眼高”是指一般的“肉眼可接受失真”在1080p24寸屏幕下看来都不可接受。我以前用过TinyPNG,能看到其png8上透明背景仿色抖动的每一个像素点,pngquant的也是,当然也能看见低压jpg的噪点,所以干脆打消了有损压缩的想法。而无损压缩特点是“压前压后图像不变,只管压没顾虑”,我可以批量“发送到”PngOptimizer几十上百张,放心让它在后台一把子压缩而不预览——也就不需要软件写缓存,PngOptimizer和mozjpeg使用中都未见图片格式的缓存。
**所以提议加个类似PngOptimizer的“放心压缩”的系列选项,可以通过右键“发送到”自动批量处理且免去缓存:无损也不需要对比。**只是不清楚Electron是否能实现,还没见过这样的Electron程序。

如果仅仅是需要无损压缩,直接命令行就行了啊。PNG 的话你可以试试 oxipng

这个……不太理解你推荐我(放着PngOptimizer不用)用命令行的oxipng,是否我上文没表达清楚:我已经在用命令行的mozjpeg无损压缩,就是因为遍寻不得一个“有界面的mozjpeg”才找到这儿的呀。
我用的mozjpeg.bat写得不好,不支持有特殊符号的文件路径也不支持批量压缩,希望有界面的mozjpeg能解决(如有)

from imagine.

meowtec avatar meowtec commented on August 17, 2024

@MY1L 在 Imagine 底层迁移到 rust + tauri 之前,没有提供类似能力的计划。因为目前底层是 NodeJS 调用 pngquant 二进制可执行文件来压缩的,pngquant 就是做索引色有损压缩的,所以想做 PNG 无损压缩,就需要额外引入一个压缩器进来,在现在的实现下还要考虑多平台,会稍微有些麻烦。

无损压缩的功能考虑在新版本(tauri)中提供,但是 tauri 部分能力还满足不了要求,所以进度会受到影响。不过我可能会先搞个预览版出来。

from imagine.

MY1L avatar MY1L commented on August 17, 2024

等等,如果受限于pngquant,可以先不做PNG无损压缩,毕竟PNG压缩在win和mac都分别有界面工具,但jpg无损压缩界面工具我还没找到。
我又看了mozjpeg的usage.txt,发现它(jpegtrans.exe)不仅可以无损压缩,还可以无损旋转、甚至无损裁切?以及rdjpgcom.exe也有用途……这2个命令行exe很小,既然Imagine已经用了cjpeg.exe,我想附带上这2个不影响体积。

from imagine.

 avatar commented on August 17, 2024

若考虑跨平台的兼容性,目前electron+bin虽然笨重但却是比较通用的方式,对于80MB的应用体积我觉得不是很难接受,比这重的同类应用比比皆是,个人认为关键还是跨平台兼容性有保障的前提下再去修改底层架构比较妥善
对于M1 Mac来说,至少我能自己克隆仓库到本地并轻松本地编译出arm64的版本出来,换做其他架构可能没这么容易

from imagine.

chaegumi avatar chaegumi commented on August 17, 2024

站在开发者的角度上需要一个可以服务器部署开箱即用的版本,让编辑人员来压缩完图片再上传,好难。

from imagine.

Eyion avatar Eyion commented on August 17, 2024

imagine所有任务都是在本地执行的吗

from imagine.

meowtec avatar meowtec commented on August 17, 2024

imagine所有任务都是在本地执行的吗

from imagine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.