Разрешение изображений Jpeg неправильно установлено Wand

Я пытаюсь изменить размер изображения в формате jpeg и увеличить рамку. Для этого я применяю изменение размера к исходному изображению и компоную его на более новом изображении:

with Image(blob=binary_data) as img:
    ...
    img.resize(width=new_width, height=long(2000))
    # Compose image to enlarge frame
    with Image(width=1571, height=2000, background=Color('white')) as dst_image:
        ...
        dst_image.composite(img, x, 0)
        img = dst_image
        img.resolution = (300,300)
        img.format = 'jpg'
        jpeg_bin = img.make_blob()

В конце я бы ожидал разрешение 300dpi. Команда Imagemagick «идентифицировать» показывает разрешение 300 точек на дюйм, но это не так; действительно, если я открою его с помощью Gimp, он покажет разрешение 72 dpi.

Я использую Wand v.0.4.4.

Мой код неправильный? ... Любые идеи?


person albeus    schedule 10.07.2018    source источник
comment
Попробуйте EXIFTOOL, чтобы увидеть реальную плотность/разрешение. Возможно, вам также придется указать набор единиц измерения, таких как пиксели/дюйм, с помощью палочки. Если не указано, некоторые инструменты не знают, как интерпретировать плотность/разрешение. См. wand.image.UNIT_TYPES   -  person fmw42    schedule 10.07.2018
comment
Спасибо @ fmw42, это работает, подробности об исправлении приведены в ответе ниже.   -  person albeus    schedule 11.07.2018


Ответы (1)


@ fmw42: Спасибо, это был вопрос определения единиц измерения. До исправления это был вывод exiftools:

  Resolution Unit                 : None
  X Resolution                    : 300
  Y Resolution                    : 300

Я исправил это, вставив эту строку:

  dst_image.units = 'pixelsperinch'

Теперь exiftools и gimp возвращают одинаковое разрешение:

  Resolution Unit                 : inches
  X Resolution                    : 300
  Y Resolution                    : 300

Благодарю вас!

person albeus    schedule 11.07.2018