Thumbor // 裁剪和“缩放”

6
我对Thumbor还不太熟悉,但我想知道是否可以使用我尚未了解的特定选项来“放大”图像。
以下是一个简单的示例: enter image description here 目前我所理解的是将其调整为特定区域的大小。但是我在这方面缺乏经验,无法找到正确的选项(如果Thumbor支持此功能的话)。
2个回答

3

我一直在参考这个帖子中的答案,但一直被堵住,直到意识到它并不完全准确。你不需要调整图像大小并手动裁剪。为了公平起见,thumbors文档也可以更清楚地说明如何做到这一点。

通过试错,我发现所需的裁剪点左上角和右下角必须从未缩放的图像中确定,并且它们都必须从未缩放的图像的绝对左上角测量。此外,没有比例/缩放值可计算 - 只有最终输出尺寸才有用。以下是一个示例用例来解释:

  • 我们有一个1000 x 2000像素的图像网址
  • 我们想要最终输出30x30
  • 我们想要的裁剪是一个200 x 200的部分
  • 我们想要的裁剪从左侧81像素和顶部93像素开始

这将产生以下结果:

  • 裁剪左侧和顶部的81x93(从未缩放的左上角测量)
  • 裁剪右侧和底部的281x293(从未缩放的左上角测量)
  • 最终输出为30x30

您的url操作字符串参数将是

  • 81x93:281x293 / 30x30 /

请注意,除非按照文档中的不安全模式,否则在生成URL后,您不能随意操纵URL值,因为URL中的哈希是由上面的操作字符串+原始URL和您的thumbor密钥盐化而成。请注意,上述操作字符串末尾已合并/。此哈希代码取自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

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接