如何使用 NodeJS 生成指定文件大小(例如 x Kb)的随机图像

Gun*_*run 1 image node.js

我正在开发一些项目,其中需要大量预定义大小的图像文件(最好是 jpg)格式(不是高度和宽度,而是文件大小,以 Kb/Mb 为单位)。

因此,我可能需要生成一个 100 KB 大小的随机图像和另一个 2 MB 大小的随机图像。

我应该如何使用 NodeJS 来解决这个问题?

我发现这个随机图像生成器代码可以生成随机图像,但它不允许我指定文件大小。

欢迎所有建议和大胆猜测。

Mar*_*ell 8

我不讲节点,但在命令行中使用 ImageMagick,这将为您提供一个大的 JPEG 图像:

convert -size 1000x2000 xc:gray +noise gaussian large.jpg
Run Code Online (Sandbox Code Playgroud)

如果你随后使用-define jpeg:extent=400kb它,你将得到一个 400kb 的文件,+/- 一点:

convert large.jpg -define jpeg:extent=400kb 400kb.jpg
Run Code Online (Sandbox Code Playgroud)

更改400kb以满足您的需要。如果你想一次性完成这一切,你可以这样做:

convert -size 1000x2000 xc:gray +noise gaussian jpg: | convert -define jpeg:extent=400kb - 400kb.jpg
Run Code Online (Sandbox Code Playgroud)

在node中,可以使用原始接口吗?它看起来像

im.convert(['-size','1000x2000','xc:gray','+noise','gaussian','output.jpg'],
   function(...)
Run Code Online (Sandbox Code Playgroud)