【发布时间】:2015-06-20 17:38:46
【问题描述】:
我对 thumbor 还是很陌生,但我想知道是否可以通过我还不知道的特定选项来“放大”图像。
下面的简单示例:
到目前为止,据我所知,这可能意味着调整到特定区域的大小。但是我缺乏找到正确选择的经验(如果拇指可以做到的话)
【问题讨论】:
标签: thumbnails crop image-resizing thumbor
我对 thumbor 还是很陌生,但我想知道是否可以通过我还不知道的特定选项来“放大”图像。
下面的简单示例:
到目前为止,据我所知,这可能意味着调整到特定区域的大小。但是我缺乏找到正确选择的经验(如果拇指可以做到的话)
【问题讨论】:
标签: thumbnails crop image-resizing thumbor
根据this,您应该能够将图像放大,然后对其进行手动裁剪。
比如:
http://thumbor-server/PointX1xPointY1:PointX2xPointY2/800X600/http://example.com/upload/koala.jpg
【讨论】:
我一直在处理这个线程中的另一个 answer 并且一直被完全阻止,直到我意识到它不太准确。您无需调整图像大小并执行手动裁剪。公平地说,拇指文档也可以更清楚地说明如何做到这一点。
通过反复试验,我发现左上角和右下角所需的裁剪点必须从未缩放的图像中确定,并且它们都必须从未缩放图像的绝对左上角开始测量。此外,没有要计算的比例/缩放值 - 只有最终尺寸输出才算数。下面是一个示例用例来解释
结果是
你的 url 操作字符串参数是
请注意,除非您按照文档处于不安全模式,否则您无法在生成 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, '_');
新网址如下。注意 / 被合并在上面的操作字符串的末尾
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
【讨论】: