Cloudinary API 转换问题
Cloudinary API transformation issues
我正在使用 Cloudinary 作为我的应用程序的图像存储,但我在转换图像时遇到问题。
我想实现的是:
- 如果图像宽度大于 1920px(将其视为横向图像):宽度应裁剪为 1920px(保持比例);
- 如果图像的高度大于 1920px(将其视为肖像图像):高度应裁剪为 1920px(保持比例);
- 格式始终为
jpg
;
- 质量降低到 80 以降低图像权重。
我目前的积分是:
const transformation = {
width: 1920, max_height: 1920, format: 'jpg', quality: 80
};
但不幸的是,这个输出是一个方形图像...
我正在尝试使用 if
但我不明白应该如何使用...看起来写文档总是最难做的事情...
我希望你能帮助我找到正确的方法。我正在使用 SDK,所以很简单 javascript.
创建转换时,SDK 中没有 max_height
参数,但您可以通过将 width
和 height
都设置为最大值来实现您想要的您要允许的值。
如果您得到方形输出,那是因为默认的 crop/resize mode 是 scale
,它会生成与请求的尺寸完全一致的输出,但可能会导致图像 [=27] =] 或 'stretched'.
我认为您在这里寻找的是这样的东西:
const transformation = {
width: 1920, height: 1920, format: 'jpg', quality: 'auto', crop: 'limit'
};
这给你一个 URL 这样的:
https://res.cloudinary.com/demo/image/upload/w_1920,h_1920,f_jpg,q_auto,c_limit/bike.jpg
'limit' 裁剪模式会将图像缩小(而不是放大)直到小于 1920x1920,并保持原始纵横比
我正在使用 Cloudinary 作为我的应用程序的图像存储,但我在转换图像时遇到问题。
我想实现的是:
- 如果图像宽度大于 1920px(将其视为横向图像):宽度应裁剪为 1920px(保持比例);
- 如果图像的高度大于 1920px(将其视为肖像图像):高度应裁剪为 1920px(保持比例);
- 格式始终为
jpg
; - 质量降低到 80 以降低图像权重。
我目前的积分是:
const transformation = {
width: 1920, max_height: 1920, format: 'jpg', quality: 80
};
但不幸的是,这个输出是一个方形图像...
我正在尝试使用 if
但我不明白应该如何使用...看起来写文档总是最难做的事情...
我希望你能帮助我找到正确的方法。我正在使用 SDK,所以很简单 javascript.
创建转换时,SDK 中没有 max_height
参数,但您可以通过将 width
和 height
都设置为最大值来实现您想要的您要允许的值。
如果您得到方形输出,那是因为默认的 crop/resize mode 是 scale
,它会生成与请求的尺寸完全一致的输出,但可能会导致图像 [=27] =] 或 'stretched'.
我认为您在这里寻找的是这样的东西:
const transformation = {
width: 1920, height: 1920, format: 'jpg', quality: 'auto', crop: 'limit'
};
这给你一个 URL 这样的: https://res.cloudinary.com/demo/image/upload/w_1920,h_1920,f_jpg,q_auto,c_limit/bike.jpg
'limit' 裁剪模式会将图像缩小(而不是放大)直到小于 1920x1920,并保持原始纵横比