重设缩略图大小和裁剪缩略图

警告

2020 年 10 月 30 日,必应搜索 API 从 Azure AI 服务迁移到必应搜索服务。 本文档仅供参考。 有关更新的文档,请参阅必应搜索 API 文档。 关于为必应搜索创建新的 Azure 资源的说明,请参阅通过 Azure 市场创建必应搜索资源

必应搜索 API 中的一些答案包括必应提供的缩略图图像的 URL,你可以调整和裁剪大小,并且可能包含查询参数。 例如:

https://<host>/th?id=AMMS_92772df988...&w=110&h=73&rs=1&qlt=80&cdv=1&pid=16.1

如果显示这些缩略图的子集,请提供查看剩余图像的选项。

注释

请确保根据必应搜索 API 使用和显示要求,裁剪和调整缩略图图像的大小将会提供一个尊重第三方权利的搜索方案。

调整缩略图大小

若要调整缩略图的大小,必应的建议是在缩略图的 URL 中,仅指定一个 w (宽度)或 h (高度)查询参数。 仅指定高度或宽度可以让必应保持图像的原始纵横比。 指定宽度和高度(以像素为单位)。

例如,如果原始缩略图为 480x620:

https://<host>/th?id=JN.5l3yzwy%2f%2fHj59U6XhssIQ&pid=Api&w=480&h=620

并且你想要减小其大小,将 w 参数设置为新值(例如 336),然后删除 h 参数。

https://<host>/th?id=JN.5l3yzwy%2f%2fHj59U6XhssIQ&pid=Api&w=336

如果仅指定缩略图的高度或宽度,将保留图像的原始纵横比。 如果同时指定两个参数,并且纵横比未得到保留,必应会在图像边框添加白色间距。

例如,如果将 480x359 图像调整为 200x200 而不裁剪,则全宽将包含图像,但高度将包含图像顶部和底部的 25 像素白色填充。 如果图像为 359x480,则左右边框将包含白色填充。 如果裁剪图像,则不会添加白色填充。

下图显示了缩略图的原始大小(480x300)。

原始横向图像

下图显示了大小调整为 200x200 的图像。 纵横比保持,顶部和底部边框填充白色(此处包含黑色边框以显示填充)。

调整大小的横向图像

如果您指定的尺寸大于图像的原始宽度和高度,必应会在左侧边框和上边框添加白色填充。

请求不同的缩略图大小

若要请求不同的缩略图图像大小,请从缩略图的 URL 中删除除 idpid 参数以外的所有查询参数。 然后添加 &w(width)或 &h(height)查询参数并指定图像大小(以像素为单位),但不能同时使用这两个参数。 必应将保留图像的原始纵横比。

若要将上述 URL 指定的图像宽度增加到 165 像素,请使用以下 URL:

https://<host>/th?id=AMMS_92772df988...&w=165&pid=16.1

如果请求的图像大于图像的原始大小,必应会根据需要在图像周围添加白色填充。 例如,如果图像的原始大小是 474x316,并且将&w参数设置为 500,必应将返回一个 500x333 的图像。 这张图像将在上边缘和下边缘增加8.5像素的白色边距,在左边缘和右边缘增加13像素的边距。

若要防止必应添加白色填充(如果请求的大小大于图像的原始大小),请将 &p 查询参数设置为 0。 例如,如果在上述 URL 中包含 &p=0 参数,必应将返回尺寸为 474x316 的图片,而不是 500x333 的图片。

https://<host>/th?id=AMMS_92772df988...&w=500&p=0&pid=16.1

如果同时指定&w&h查询参数,必应将保留图像的纵横比,并在需要时添加白色填充。 例如,如果图像的原始大小为 474x316,并且将宽度和高度参数设置为 200x200 (&w=200&h=200),必应将返回一个图像,该图像的顶部和底部包含 33 像素的白色填充。 如果包含 &p 查询参数,必应将返回 200x134 图像。

裁剪缩略图

若要裁剪图像,请包含 c (crop) 查询参数。 可以使用下列值:

  • 4 — 盲比
  • 7 — 智能比率

智能比例裁剪

如果请求智能比率裁剪(通过将参数设置为c7),必应将从其感兴趣的区域中心向外裁剪图像,同时保持图像的纵横比。 感兴趣的区域是必应确定的图像区域包含大多数导入部件。 下面显示了感兴趣的示例区域。

感兴趣的区域

如果调整图像大小并请求智能比率裁剪,必应会将图像减小到请求的大小,同时保持纵横比。 然后,必应根据调整后的尺寸裁剪图像。 例如,如果调整大小的宽度小于或等于高度,必应会将图像裁剪到感兴趣的区域中心的左侧和右侧。 否则,必应会将它裁剪到感兴趣的区域的中心顶部和底部。

下面显示了使用智能比率裁剪缩小到 200x200 的图像。 由于必应从左上角测量图像,因此会裁剪图像的底部。

裁剪为 200x200 的横向图片

下面显示了使用智能比率裁剪缩小到 200x100 的图像。 由于必应从左上角识别图像,因此会裁剪图像的底部。

裁剪为 200x100 的风景图片

下面显示了使用智能比率裁剪缩小到 100x200 的图像。 由于必应从中心开始测量图像,图像的左右部分被截去了。

裁剪为100x200的横向图像

如果必应无法确定图像的兴趣区域,该服务将使用盲比裁剪。

盲比例裁剪

如果您请求盲比裁剪(通过将c参数设置为4),必应将使用以下规则来裁剪图像。

  • 如果 (Original Image Width / Original Image Height) < (Requested Image Width / Requested Image Height),图像是从左上角测量的,并裁剪在底部。
  • 如果 (Original Image Width / Original Image Height) > (Requested Image Width / Requested Image Height),图像是以中心为参考,然后向左侧和右侧裁剪。

下面显示了一个225x300像素的竖版图像。

原始向日葵图像

下图显示了使用盲比裁剪缩小到 200x200 的图像。 图像是从左上角测量的,导致图像的底部被裁剪。

向日葵图像裁剪为 200x200

下图显示了使用盲比裁剪缩小到 200x100 的图像。 图像从左上角开始测量,结果导致下半部分被裁剪。

向日葵图像裁剪为 200x100

下图显示了使用盲比裁剪缩小到 100x200 的图像。 图像是从中心测量的,结果图像的左侧和右侧部分被裁剪。

向日葵图像裁剪为 100x200

后续步骤