遇到问题时,如果有明显的参数超过显示等问题,可以使用OSS的x-oss-process=image/info参数查看原始图片中的信息是否超标。OSS单边长度不能超过4096,乘积不能高于4096*4096。
您需要配置原图HEIC白名单。浏览器不支持HEIC图片预览,访问时会强制下载。
图片处理场景下ETag表示原始Object的唯一标志符,该ETag与处理后的结果图片无关。
如果您使用浏览器预览图片时直接进行下载,可能是因为当前浏览器不支持预览的图片格式。建议您更换兼容图片格式的浏览器(例如Chrome浏览器)再次尝试预览。
GIF动图仅在经过图片缩放、图片裁剪或者添加图片水印操作中的一项或多项后仍保留为动图。如果对GIF动图执行非以上图片处理操作,GIF动图均会变成静态图。
问题分析:使用图片处理服务时,有图片大小限制,除图片旋转对应的原图高或者宽不能超过4,096px外,其他图片操作对应的原图高或者宽不能超过30,000px,且总像素不能超过2.5亿px。当图片超过限制时,会出现MemLimitExceeded报错。
动态图片(例如GIF图片)的像素计算方式为宽*高*图片帧数;非动态图片(例如PNG图片)的像素计算方式为宽*高。
问题分析:开启原图保护后,匿名访问者只能使用携带样式参数的请求或通过签名URL访问原图。如果使用图片处理参数设置图片(例如x-oss-process=image/format,webp),将出现该报错。
问题分析:出现这种问题基本都是原图的单边长度超过了4096的限制,或者四边乘积超过了4096*4096。
排查步骤:
问题分析:主色调计算不是按照屏幕颜色占比来计算的,而是按照图片中心的主颜色来定的色调,计算逻辑如下:
解决方法:可以使用x-oss-process=image/average-hue参数获取OSS图片的主色调参数。
问题分析:这个黑印不是因为图片处理造成的。水印的方式是将两张图片重合,如果水印两张图是不同的RGB图片,覆盖后因色差产生黑线是正常现象,任何图片处理工具都会存在这个问题。
解决方法:案例中背景图RGB参数为“0x0e0e0e”,水印的RGB参数为“0xffffff”,增加水印会出现类似边框的效果。可以通过透明度参数t来调整透明度将边框去掉,t的取值范围是1-100。
提高透明度可以将边框的影响降低。
CDN回源OSS图片处理不生效,无论使用的是什么效果,请使用OSS的访问域名进行测试,利用下面的URL进行基础分析。
上述的老域名的高斯处理效果,如果搬迁到OSS的域名后,需要按照新的方式来处理,如下:
处理分析:可以使用PS等工具获取原图的颜色模式,如果原图是RGB的话,压缩是不会变色的,如果原图是CMYK的话,压缩后会产生偏色。目前对CMYK的兼容还在支持中,图片色彩空间被挤压会产生色彩的变化。
问题现象:图片文件在本地可以正常打开,但是上传到OSS无法进行图片处理,反馈图片损坏。
损坏的图片文件在本地可以显示是因为本地的图片查看工具是对图片做了补偿修复。而OSS不对损坏的图片进行处理,所以在浏览器上无法显示。
问题分析:直接访问OSS正常,说明OSS存储是没问题的。但是通过CDN访问时出现了旋转,说明是浏览器的处理问题,通过图片处理参数x-oss-process=image/info查看原图参数带有rotation90旋转参数。
解决方法:删除旋转参数即可。
排查方法:
带了自适应旋转的属性后,要求图片的宽高不能超过4096。
问题分析:电脑端访问正常,手机端访问异常,可以判断出OSS是正常的,否则电脑访问也会异常。
使用ImageMagick排查OSS中的图片的步骤如下:
问题分析:图片中出现的并非是分割线,而是图片处理后色彩构成出现问题。原图是RGB的真彩色(ImageHeight":{"value":"2560""ImageWidth":{"value":"1440")。经过图片处理后,像素被裁剪到h_1920,w_1080,导致RGB的像素点位被压缩,图片显示异常。
解决方法:使用quality,Q_100参数将图片的绝对质量提高到100。
BadRequest
解决方法:将图片格式转换为OSS支持的格式。
InvalidArgument
BadWebPImage
OSS不支持识别请求的自定义query参数动态缩放。
历史版本暂不支持图片处理功能,因此无法通过指定versionId实现对历史版本图片的处理。