0

我正在使用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

测试.jpg:

测试1.jpg

测试2.jpg

test2.jpg(第一次旋转)

测试3.jpg:

test3.jpg(第二次旋转)

如您所见,上面有奇怪的边框(几乎就像图像另一部分的阴影):

在此处输入图像描述

什么会导致这种情况,我该如何解决?

服务器显示:

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

...服务器显示:

jpegtran -v
Independent JPEG Group's JPEGTRAN, version 9b  17-Jan-2016
Copyright (C) 2016, Thomas G. Lane, Guido Vollbeding
4

1 回答 1

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

我刚刚尝试过,它按预期工作:) 我想我会把它贴在这里,以防其他人遇到这个!

于 2017-10-19T12:56:56.490 回答