存储在OSS中的GIF文件使用图片样式后变成静态图片

问题描述

在使用阿里云对象存储OSS的图片处理服务时,GIF格式的文件使用图片样式进行图片缩放或添加水印后,变成静态图片。原图URL和图片处理后的URL示例如下:

  • 原图URL为:http://XXX.oss-cn-hangzhou.aliyuncs.com/aliyuntest/raytestray.gif
  • 图片处理的URL:http://XXX.oss-cn-hangzhou.aliyuncs.com/aliyuntest/raytestray.gif?x-oss-process=image/auto-orient,1/format,gif/resize,m_lfit,w_440/quality,q_90

问题原因

图片缩放和图片添加水印场景,GIF文件变成静态图片的原因如下:

  • 图片缩放:GIF图不支持auto-orient、 quality参数。
  • 图片添加水印:未开启animation功能。

解决方案

GIF文件不支持auto-orient、 quality参数

请参见以下操作进行检查图片处理的URL:

  1. 检查图片缩放处理的URL是否带有auto-orient和quality参数。删除URL中的auto-orient和quality参数,进行访问测试,还是静态图片。
    http://XXX.oss-cn-hangzhou.aliyuncs.com/aliyuntest/raytestray.gif?x-oss-process=image/format,gif/resize,m_lfit,w_440
  2. 删除链接中的format,gif参数,或直接将format,gif参数添加到链接最后。
    • http://XXX.oss-cn-hangzhou.aliyuncs.com/aliyuntest/raytestray.gif?x-oss-process=image/resize,m_lfit,w_440
    • http://XXX.oss-cn-hangzhou.aliyuncs.com/aliyuntest/raytestray.gif?x-oss-process=image/resize,m_lfit,w_440/format,gif

确认是否开启animation功能

为存储在OSS中的图片文件增加水印时,输出动图则需要开启animation功能,开启animation功能的示例如下:

注意:动图仅支持图片水印,暂不支持文字水印。

http://XXX.oss-cn-beijing.aliyuncs.com/1.gif?x-oss-process=image/watermark,image_MDA4LnBuZw,x_10,y_10,animation_1/format,gif

适用于

  • 对象存储OSS