2017-10-19 10 views
0

私はjpegtranを使用してイメージを回転させますが、それは奇妙なことをしているようです。 他のサーバーでも同じコード/ロジックが働いていました。ここで私がやったテストケースである:イメージを回転するときにjpegtranと奇妙な "境界"

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:

test1.jpg

TEST2を

test.jpgは、私が実行して、元の画像です.jpg

test2.jpg (first rotation)

test3.jpg:

test3.jpg (2nd rotation)

あなたが見ることができるはずとして、(ほとんどの画像の別の部分に影のように)その上に奇妙な境界線があります

enter image description here

この原因は何でしょうか、どうすれば回避できますか?

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サーバは示しています:

OLDサーバが示し

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

答えて

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 

:)思想は、私はここでそれを投稿します他の誰かがこれを渡ってくる!

関連する問題