今天在裁剪gif图片的时候遇到问题了。
gif图片裁剪后,图片大小仍然是原图大小,只保留了裁剪区域的图像,其余部分变成背景色透明了。
查找后,发现时ImageMagick的问题,有解决办法,但是jmagick目前没有任何解决方案,大家有知道的吗?
我在本地把这种gif用工具转成jpeg都再裁剪都不好用,真是神奇。
别人的帖子如下:
http://dev.csdn.net/htmls/66/66714.html
裁剪用-crop,jpg没问题,不过遇到gif就要注意了
例如下图:
裁剪只裁剪图片内容,不能消除背景的size,
convert image1.gif -crop 75x75+0+0 image2.gif
结果如下图片
解决办法使用+repage参数
convert image1.gif -crop 75x75+0+0 +repage image2.gif
75x75是结果的size,+0+0是图片在画布中间的偏移量,用了+repage会清空图片以外的空白
不过在jmagick的接口中没找到如何把+repage参数传递进去
/** * Creates a new image that is a subregion of the original. * * @param chopInfo the subimage * @return a subimage of the original * @exception MagickException on error */ public native MagickImage cropImage(Rectangle chopInfo) throws MagickException;
目前我只有一种方式是可以解决这个问题,就是在保存文件的时候,保存成其他格式的图片,不保存成gif。
这样可以解决~
虽然解决了,但是感觉不是很好,毕竟更改了人家上传文件的格式。
目前我只有一种方式是可以解决这个问题,就是在保存文件的时候,保存成其他格式的图片,不保存成gif。
这样可以解决~
虽然解决了,但是感觉不是很好,毕竟更改了人家上传文件的格式。
######版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。