压缩图片到指定大小

背景:父母要用到某个老旧的系统,限制了图片大小300k;虽然可以用xnview这样的软件手动处理(导出-选择压缩等级),不过现在反正有llm了,随手写一个也复杂不到哪里去,而且使用起来也更友好。

特性:

  • 支持压缩图片到指定大小
  • 支持裁剪和缩放
  • 单网页,完全无外部依赖(甚至可以保存到本地使用)

地址:
https://pages.nekonull.me/img-tool.html

截图
image.png

源代码:直接右键查看就好了

原理:绘制到canvas再保存;对jpeg质量参数二分

工具:cursor + claude sonnet 3.5

1 个赞

我遇到过一种情况,对方要求图片的的大小
比如:图片来源只有30k,要求60k以上的,这种怎么办呢?

转bmp再压 :ok_hand:

还真没见过 :joy: 可能以下几个方法?

  1. 屏幕重新截图
  2. 转其他格式
  3. 放大 2x 或者 4x

随便找一个绘图AI,使用它的自适应放大图片

其实不用绘图 AI,有专门放大图片的工具(用的也是专门的算法),比如Bigjpg:

1 个赞

问问指定文件大小怎么做到的……

让我做指定文件大小我是真做不到,一般的实现思路实际上都是在后台压缩一次试试,不符合用户设定就换个设置,重新压缩……


刚刚看到了思路,也是图片质量参数二分法,那我就没疑惑了

安卓有个《简单照片减少》软件可以批量,

但批量裁剪窝不知有什么软件可以,手机端不知有没有

放大不行,对图片的长宽有具体的要求(xx像素)

增加噪点

放大的话,有人提出可以向图像末端追加数据:

我在 Linux 上进行了测试,结果是没问题的:

至于楼上提到的

这种操作多少是会对图像本身造成破坏的,而且如果噪点只是更改图像上的几个像素的数据,那么图像的完整体积似乎也不会有很大变化。

向文件尾追加数据对原图像是没有破坏的,毕竟文件的重要信息存放在头部。

啊…这里说的放大应该指的是「放大图片长宽到指定尺寸」而不是「放大图片文件到指定大小」