我正在使用 jpegtran 来旋转我的图像,但它似乎做了一些奇怪的事情。 相同的代码/逻辑在我的其他服务器上运行。这是我做过的一个测试案例:
test.jpg是原始图像,然后我运行:
jpegtran -rotate 90 test1.jpg > test2.jpg.tmp
mv test2.jpg.tmp test2.jpg
jpegtran -rotate 90 test2.jpg > test3.jpg.tmp
mv test3.jpg.tmp test3.jpg
test.jpg放在:
test2.jpg
test3.jpg:
正如你应该看到的那样,它上面有奇怪的边框(几乎就像图像另一部分的阴影):
导致这种情况的原因是什么,以及如何绕过它?
OLD 服务器显示:
jpegtran -v
libjpeg-turbo version 1.2.1 (build 20131209)
Copyright (C) 1991-2010 Thomas G. Lane, Guido Vollbeding
Copyright (C) 1999-2006 MIYASAKA Masaru
Copyright (C) 2009 Pierre Ossman for Cendio AB
Copyright (C) 2009-2012 D. R. Commander
Copyright (C) 2009-2011 Nokia Corporation and/or its subsidiary(-ies)
Emulating The Independent JPEG Group's libjpeg, version 6b 27-Mar-1998
... NEW 服务器显示:
jpegtran -v
Independent JPEG Group's JPEGTRAN, version 9b 17-Jan-2016
Copyright (C) 2016, Thomas G. Lane, Guido Vollbeding
答案 0 :(得分:0)
通常情况下,我刚刚将问题写出并发布,我找到了解决方案:)
http://www.imagemagick.org/discourse-server/viewtopic.php?t=21341#p87099
基本上,添加" -trim"命令 - 所以它看起来像:
jpegtran -rotate 90 -trim test1.jpg > test2.jpg.tmp
mv test2.jpg.tmp test2.jpg
jpegtran -rotate 90 -trim test2.jpg > test3.jpg.tmp
mv test3.jpg.tmp test3.jpg
我刚尝试了这个,它按预期工作:)我想在这里张贴以防万一其他人遇到这个!