Странная "граница" с 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:
test2.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
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
Я только что попробовал это, и это работает как ожидалось:) Думал, что выложу это здесь на случай, если кто-нибудь еще столкнется с этим!