0

我正在使用阿里云。使用它的对象存储服务图像处理,我需要生成图像的方形缩略图。但是这些缩略图必须调整大小,使其完全适合正方形。它们不应该失去其纵横比,并且必须裁剪额外的部分。缩略图应该看起来就像在手机上的任何画廊应用程序中显示的缩略图。我应该如何实现这一目标?

4

2 回答 2

1

阿里云OSS图像处理(IMG)是一种图像处理服务,提供API来有效地处理图像。

您可以通过创建样式简单地请求图像的缩略图。

风格:

Image Service 允许您将图像处理操作和参数保存为别名,即样式。有了样式,就可以通过一个很短的 URL 来实现一系列的操作。

渠道:

通道是图像处理的命名空间,是计费、权限控制、日志记录等高级功能的管理实体。

  • 一个 Channel 可以有多种样式。目前,一个 Channel 最多允许有 50 种样式。
  • 可以应用样式来更改通道中的所有对象。

    例如,如果样式 abc 在通道 A 中,样式内容为 100w.jpg(宽度缩放为 100 并保存为 .jpg 文件),则可以将样式 abc 应用于通道 A 中的所有对象,将其缩放为 100宽度并将它们保存为 .jpg 文件。

  • 一个样式只在一个 Channel 内有效,即 Channel A 中的 Objects 不能使用 Channel B 中的任何样式。

按样式处理图像的 URL 格式如下:

http://userdomain/object?x-oss-process=style/name

于 2018-09-25T17:39:42.050 回答
1

OSS 提供了一种使用 Resize 操作来放大或缩小图像的方法。您可以使用固定宽度和高度方法创建图像的较小裁剪版本。此方法处理自动裁剪,因此您的纵横比将保持不变。为此,您必须了解一些参数:

  • m - 缩放模式(固定/填充/填充/mfit/lfit)
  • w - 宽度
  • h - 高度

要创建缩略图,

您必须将缩放模式设置为填充。填充模式保留从指定宽度和高度的矩形延伸出来的裁剪和居中的最小图像。m_fill

最后,您必须设置 w 和 h 参数;对于您的用例,它将帮助他们平等。h_100 , w_100

所以这就是你的 URL 的结尾:x-oss-process=image/resize,m_fill,h_100,w_100

因此,您可以将任何图像调整为这样的图像

于 2018-03-14T19:21:01.577 回答