Я создаю эскизы из гораздо больших изображений и уже некоторое время успешно использую эту команду:
convert FILE -resize "64x" -crop "64x64+0+16" +repage -strip OUTFILE
Я также делаю некоторые другие обработки, которые не имеют отношения к вопросу. Я понял, что это совсем не регулирует разрешение, поэтому, если я использую изображение с разрешением 300 точек на дюйм, на некоторых устройствах изображение будет очень маленьким. Я хочу пересчитать его до 72x72, поэтому я пытался с этой командой:
convert FILE -resize "64x" -crop "64x64+0+16" +repage -strip -resample 72x72 OUTFILE
И ожидал, что изображение 64x64 с разрешением 300 точек на дюйм будет преобразовано в изображение 64x64 с разрешением 72 точки на дюйм, но вместо этого я получаю очень забавный размер и плотность.
Вот "идентифицируйте" выходные данные для исходного и постобработанного файла БЕЗ повторной выборки:
coneybeare $ convert "aa.jpg" -crop "64x64+0+16" +repage -strip "aa.png"
coneybeare $ for image in `find . -type f`; do identify $image; identify -verbose $image | egrep "^ Resolution"; done
./aa.jpg JPEG 1130x1695 1130x1695+0+0 8-bit DirectClass 1.492MiB 0.000u 0:00.000
Resolution: 300x300
./aa.png PNG 64x64 64x64+0+0 8-bit DirectClass 7.46KiB 0.000u 0:00.000
Resolution: 118.11x118.11
И вот «идентифицируйте вывод для команды С повторной выборкой:
coneybeare $ convert "aa.jpg" -crop "64x64+0+16" +repage -strip -resample 72x72 "aa.png"
coneybeare $ for image in `find . -type f`; do identify $image; identify -verbose $image | egrep "^ Resolution"; done
./aa.jpg JPEG 1130x1695 1130x1695+0+0 8-bit DirectClass 1.492MiB 0.000u 0:00.000
Resolution: 300x300
./aa.png PNG 15x15 15x15+0+0 8-bit DirectClass 901b 0.000u 0:00.000
Resolution: 28.34x28.34
Итак, вопрос: что я делаю не так и как я могу это исправить, чтобы в результате получилось обрезанное изображение размером 64x64 с разрешением 72 точек на дюйм?