我正在将给定的图像(保存在磁盘上)调整为不同的大小:
var image = 'photos/pic';
var sizes = [1440, 1080, 720, 480];
for (var i = 0; i < sizes.length; i++) {
sharp(image + '.jpg')
.resize(sizes[i], sizes[i])
.toFile(image + '-' + sizes[i] + '.jpg');
}
Run Code Online (Sandbox Code Playgroud)
这按预期工作,但我想还有改进的余地。
2000x2000. 如果有的话,从调整720x720到480x480而不是2000x2000到的速度改进480x480是什么?考虑到我必须先读取720x720文件并等待调整大小完成。您可以使用 Sharp JS 的 Clone 方法
http://sharp.dimens.io/en/stable/api-input/#clone
这个例子给出了你所需要的一切
// Create the baseline changes
const pipeline = sharp().rotate();
pipeline.clone().resize(800, 600).pipe(firstWritableStream);
pipeline.clone().extract({ left: 20, top: 20, width: 100, height: 100
}).pipe(secondWritableStream);
readableStream.pipe(pipeline);
Run Code Online (Sandbox Code Playgroud)
也可以与 Promise 一起使用
| 归档时间: |
|
| 查看次数: |
2584 次 |
| 最近记录: |