最近更新时间:2024-04-22 10:16:24
当您在使用KS3的图片处理时可能遇到问题,下面是对一些常见问题及处理方法。
排查步骤:
下载后使用图片查看工具打开原图,如无法打开并提示“图片已损坏”,说明原图就是损坏的。
如果在浏览器中或使用本地图片查看工具可以打开,则可以使用以下步骤验证。
获取原始的KS3 URL地址,使用 @base@imageInfo
查看原图信息,如果查不到图片信息,直接报错,说明原图就是损坏的。
可以使用开源的 graphicsmagick
工具来验证这个问题,将图片做任意调整,如果出现error
说明图片是损坏的。下面是一个resize的测试用例:
gm convert -resize 1024x768 src.jpg
损坏的图片文件在本地可以显示是因为本地的图片查看工具是对图片做了补偿修复。而KS3不对损坏的图片进行处理,所以处理时会报错。
问题分析:这种是参数错误,需先查看一下原图的请求参数。
问题分析:图片处理(除了imageInfo和 exif)支持的图片最大像素数为 2.5 亿,可以下载原图使用本地图片查看工具查看图片宽高和帧数,检查像素数(宽*高*帧数)是否大于 2.5 亿,gif 动图帧数一般大于 1,其他静态图帧数为 1。
查看动图帧数的方法如下:
获取原始的KS3 URL地址,使用 @base@imageInfo
查看原图信息,使用相应中的宽(width)、高(height)、帧数(frameNumber)计算图片的像素数。
Windows 系统中可以使用看图软件打开图片,查看图片信息。
MacOS 中可以使用自带的预览打开图片,并打开缩略图边栏,将滚动条拉倒最底部,即可看到帧数。
window系统相关看图工具
看图工具 1:
看图工具 2:
看图工具 3:
MacOS系统工具
使用自带的预览打开图片,并打开缩略图边栏,将滚动条拉倒最底部,即可看到帧数,如下图:
点击“i”图标,弹出的“一般信息”窗口显示了图片的宽高,如下图:
还可以使用开源的 graphicsmagick
工具来查看图片帧数,示例如下:
gm identify -ping -format format=%m,width=%W,height=%H,frameNum=%p, src.gif
# 输出如下:
format=GIF,width=240,height=240,frameNum=1,format=GIF,width=240,height=240,frameNum=2,format=GIF,width=240,height=240,frameNum=3,format=GIF,width=240,height=240,frameNum=4,format=GIF,width=240,height=240,frameNum=5,format=GIF,width=240,height=240,frameNum=6,format=GIF,width=240,height=240,frameNum=7,format=GIF,width=240,height=240,frameNum=8,format=GIF,width=240,height=240,frameNum=9,format=GIF,width=240,height=240,frameNum=10,format=GIF,width=240,height=240,frameNum=11,format=GIF,width=240,height=240,frameNum=12,format=GIF,width=240,height=240,frameNum=13,
# 即:图片格式为 GIF,宽 240 像素,高 240 像素,帧数 13
纯净模式