图像自动定向后如何获取图像尺寸?
尺寸仍然给出自动定向前的尺寸,而不是旋转后的尺寸。 (因此 x 和 y 尺寸被翻转)。
var original = gm(response.Body).autoOrient();
original.size(function (err, size) {
if (err) {
console.error(err);
return res.status(500).send(err);
}
resize_photo(size, max_size, original, function (err, photo) {
res.setHeader('Content-Type', 'image/jpeg');
res.send(photo);
});
});
一种解决方案是写入缓冲区,然后调用 .size
,如下所示:
gm(response.Body).autoOrient().toBuffer(function (err, buffer) {
if (!err) {
gm(buffer).size(function (err, size) {
if (!err) {
console.log(size);
}
});
}
});
注意:这是有效的,因为.size
在新的自动定向缓冲区上运行图像magick命令identify
,而不是原始文件或原始缓冲区。
我是一名优秀的程序员,十分优秀!