Thumbor // 裁剪和 "zoom"
Thumbor // crop and "zoom"
我对 thumbor 还很陌生,但我想知道是否可以使用我还不知道的特定选项,"zoom in" 一张图片。
下面的简单示例:
据我所知,这可能意味着调整到特定区域。但是我缺乏找到正确选项的经验(如果拇指可以做到这一点)
根据this,您应该可以放大图像,然后对其进行手动裁剪。
所以像这样:
http://thumbor-server/PointX1xPointY1:PointX2xPointY2/800X600/http://example.com/upload/koala.jpg
我一直在研究这个线程中的另一个 ,但一直被完全阻止,直到我意识到它不太准确。您不调整图像大小并执行手动裁剪。公平地说,thumbors 文档也可以更清楚地说明如何执行此操作。
通过反复试验,我发现必须从未缩放的图像确定左上角和右下角所需的裁剪点,并且它们都必须从图像的绝对左上角开始测量未缩放的图像。此外,没有要计算的 scale/zoom 值——只有最终大小的输出才算数。下面是一个示例用例来解释
- 我们有一张 1000 x 2000 的图像 url
- 我们想要 30x30 的最终输出
- 我们想要的裁剪是一个 200 x 200 的部分
- 我们想要的裁剪从左侧 81px 和顶部 93px 开始
结果为
- 裁剪 81x93 的左侧和顶部(从未缩放的左上角开始测量)
- 裁剪 281x293 的右侧和底部(从未缩放的左上角开始测量)
- 最终输出为 30x30
您的 url 操作字符串参数将是
- 81x93:281x293/30x30/
请注意,除非您按照文档处于不安全模式,否则在生成 url 后,您不能随意操作 url 值,因为 url 中的哈希值是由上面的操作字符串 + 原始 url 制成,并用拇指或键加盐。请注意 / 包含在上面操作字符串的末尾。此哈希码取自 here
import crypto from 'crypto-js';
var key = crypto.HmacSHA1(operation + imagePath, thumborKey);
key = crypto.enc.Base64.stringify(key);
key = key.replace(/\+/g, '-').replace(/\//g, '_');
新的URL如下。请注意 / 包含在上述操作字符串的末尾
var newURL =
thumborServerUrl + '/' +
key + '/' +
operation + imagePath;
// https://imgs.mysite.com/ajs3kdlfog7prjcme9idgs/81x93:281x293/30x30/https%3A%2F%2Fmysite.s3.amazonaws.com%2Fuser%2Fmy-image.jpg
我对 thumbor 还很陌生,但我想知道是否可以使用我还不知道的特定选项,"zoom in" 一张图片。
下面的简单示例:
据我所知,这可能意味着调整到特定区域。但是我缺乏找到正确选项的经验(如果拇指可以做到这一点)
根据this,您应该可以放大图像,然后对其进行手动裁剪。
所以像这样:
http://thumbor-server/PointX1xPointY1:PointX2xPointY2/800X600/http://example.com/upload/koala.jpg
我一直在研究这个线程中的另一个
通过反复试验,我发现必须从未缩放的图像确定左上角和右下角所需的裁剪点,并且它们都必须从图像的绝对左上角开始测量未缩放的图像。此外,没有要计算的 scale/zoom 值——只有最终大小的输出才算数。下面是一个示例用例来解释
- 我们有一张 1000 x 2000 的图像 url
- 我们想要 30x30 的最终输出
- 我们想要的裁剪是一个 200 x 200 的部分
- 我们想要的裁剪从左侧 81px 和顶部 93px 开始
结果为
- 裁剪 81x93 的左侧和顶部(从未缩放的左上角开始测量)
- 裁剪 281x293 的右侧和底部(从未缩放的左上角开始测量)
- 最终输出为 30x30
您的 url 操作字符串参数将是
- 81x93:281x293/30x30/
请注意,除非您按照文档处于不安全模式,否则在生成 url 后,您不能随意操作 url 值,因为 url 中的哈希值是由上面的操作字符串 + 原始 url 制成,并用拇指或键加盐。请注意 / 包含在上面操作字符串的末尾。此哈希码取自 here
import crypto from 'crypto-js';
var key = crypto.HmacSHA1(operation + imagePath, thumborKey);
key = crypto.enc.Base64.stringify(key);
key = key.replace(/\+/g, '-').replace(/\//g, '_');
新的URL如下。请注意 / 包含在上述操作字符串的末尾
var newURL =
thumborServerUrl + '/' +
key + '/' +
operation + imagePath;
// https://imgs.mysite.com/ajs3kdlfog7prjcme9idgs/81x93:281x293/30x30/https%3A%2F%2Fmysite.s3.amazonaws.com%2Fuser%2Fmy-image.jpg