我正在使用锐利来调整大部分图像的大小。因此,我通过保留其纵横比将它们的大小调整为 500px。另外,我想将高度调整为 500px,如果高度大于宽度,则自动调整宽度,反之亦然。为此,我需要从图像缓冲区获取图像高度。我知道有相当多的软件包可以做到这一点。但我希望我是否可以使用锐利缓冲区本身来做到这一点。
Ste*_*e L 38
是的,您可以使用以下函数获取清晰图像的宽度和高度metadata()
:
const image = sharp(file.buffer)
const metadata = await image.metadata()
console.log(metadata.width, metadata.height)
Run Code Online (Sandbox Code Playgroud)
您可以从以下位置获取更多信息metadata
,这是文档:https ://sharp.pixelplumbing.com/api-input#metadata
jam*_*her 14
要获取输入图像标题中记录的尺寸:
const image = await sharp(file.buffer);
const metadata = await image.metadata();
console.log(metadata.width, metadata.height);
Run Code Online (Sandbox Code Playgroud)
不过,类似的操作image.resize(...)
不会影响.metadata()
. 要在对图像执行操作后获取尺寸,请使用.toBuffer({ resolveWithObject: true })
:
const image = await sharp(file.buffer);
const resizedImage = image.resize(640);
const { info } = await resizedImage.png().toBuffer({ resolveWithObject: true });
console.log(info.width, info.height);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21526 次 |
最近记录: |