Странная "граница" с jpegtran при повороте изображения

Я использую 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:

test1.jpg

test2.jpg

test2.jpg (первое вращение

test3.jpg:

test3.jpg (2-е вращение

Как вы должны видеть, на нем есть странные границы (почти как тени на другой части изображения):

Что может вызвать это, и как я могу обойти это?

Старый сервер показывает:

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

1 ответ

Как правило, как только я написал вопрос и отправил его, я нашел решение:)

http://www.imagemagick.org/discourse-server/viewtopic.php?t=21341

В основном, чтобы добавить "-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

Я только что попробовал это, и это работает как ожидалось:) Думал, что выложу это здесь на случай, если кто-нибудь еще столкнется с этим!

Другие вопросы по тегам