Thumbor // crop和" zoom"

时间:2015-04-14 22:51:22

标签: thumbnails crop image-resizing thumbor

我对拇指来说很陌生,但我想知道,如果使用我还没有意识到的特定选项,是否可以“放大”图像。

以下简单示例:

enter image description here

到目前为止,我所理解的可能性,可能意味着调整到特定区域。但是我缺乏找到合适选项的经验(如果这可能是拇指的话)

2 个答案:

答案 0 :(得分:2)

根据this,您应该可以将图像放大,然后对其进行手动裁剪。

类似于:

http://thumbor-server/PointX1xPointY1:PointX2xPointY2/800X600/http://example.com/upload/koala.jpg

答案 1 :(得分:0)

我一直在研究该线程中的其他answer,并被完全阻止,直到我意识到它不太准确为止。您无需调整图像大小并执行手动裁剪。公平地说,也可以使文档更清楚地说明如何执行此操作。

通过反复试验,我发现所需的裁剪点必须从未缩放图像确定 ,并且必须从未缩放图像的绝对左上角进行测量。此外,没有要计算的缩放比例/缩放值-仅最终尺寸输出计数。以下是一个示例用例来说明

  • 我们的图片网址为1000 x 2000图片
  • 我们希望最终输出为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, '_');

新网址如下。注意/包含在上述操作字符串的末尾

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