Javascript 优化图像以适应最大文件大小

Javascript 优化图像以适应最大文件大小,javascript,terminal,applescript,photoshop,automator,Javascript,Terminal,Applescript,Photoshop,Automator,我需要创建一个简单的应用程序,允许我将图像拖动到上,它将优化图像,使其小于一定的文件大小 我目前在Photoshop中有一个漫长的过程,我必须一次保存多个图像,重新打开每个图像,然后导出为正确的文件大小。但是尺寸总是一样的。因此,300x300将始终低于40kbs,而100x600将始终低于35kbs 即使我以同样的方式通过Photoshop运行图像。我只是希望有一个更快的/自动化的过程,但我很难找到一个 有什么想法吗 提前谢谢 注意:我不想更改图像大小(尺寸),只想更改文件大小(kbs) 您可

我需要创建一个简单的应用程序,允许我将图像拖动到上,它将优化图像,使其小于一定的文件大小

我目前在Photoshop中有一个漫长的过程,我必须一次保存多个图像,重新打开每个图像,然后导出为正确的文件大小。但是尺寸总是一样的。因此,300x300将始终低于40kbs,而100x600将始终低于35kbs

即使我以同样的方式通过Photoshop运行图像。我只是希望有一个更快的/自动化的过程,但我很难找到一个

有什么想法吗

提前谢谢


注意:我不想更改图像大小(尺寸),只想更改文件大小(kbs)

您可以使用安装在大多数Linux发行版上的、适用于macOS和Windows的ImageMagick来实现这一点。它只适用于JPEG(因为它允许以图像大小换取质量),而PNG则不适用——至少是明确的

因此,假设您的图像为300x300,尤其是161kB,因为它是不可压缩的随机噪声:

您可以在终端中使用此命令(或在Windows下使用命令提示符)将其减少到所需的40kB:

结果是39kB:

-rw-r--r--   1 mark  staff   39119 15 Feb 16:58 result.jpg

对于本地使用,我会设置gulp并使用npm软件包(任何可以做您需要做的事情的软件包),大致如下:

-调整图像大小

-压缩图像(我知道您可以使用size参数来确定所需的文件大小,至少对于JPEG)

但是,向您展示如何一步一步地设置所有内容超出了本答案的范围,因此,让我简单介绍一下您需要做什么:

  • 安装node.js
  • 安装吸管
  • 安装适当的包管理器
  • 配置gulp从特定文件夹中获取图像,并手动或自动将其转换为所需的“输出”文件夹
如果你想沿着这条路走下去,我建议你在这里开始学习更多关于gulp的知识:


您是否需要此功能,以便其他用户/网站访问者可以自由上传图片,并在服务器上自动优化?或者您只是想在本地计算机上自动化整个过程,而不是主要在为此创建web应用程序之后?@RokSprogar感谢您的快速回复。两者都很酷,但我最感兴趣的是它是一个本地使用的“应用程序”。我只是很难找到正确的方法来实现这一点,无论是web应用程序还是简单的终端脚本。经过大量的搜索,我决定其他人可能有一个想法。这正是我所寻找的。我在我的工作电脑上使用它,其他程序无法工作,但我能够用自制软件安装Magick,并绕过我工作的安全/防火墙。非常感谢你。现在一切都很顺利。我发现了如何使jpg和png完美地工作,因为我希望它们基于您的帮助;但现在我遇到了吉布斯的麻烦。我试图找到与“jpeg:extent=40kb”等效的gif。正如JPG需要低于40kb一样,GIF也需要低于200kb。有什么想法吗?
magick input.jpg -define jpeg:extent=40kb result.jpg
-rw-r--r--   1 mark  staff   39119 15 Feb 16:58 result.jpg