2010-04-20 5 views
0

Как изменить размер изображения с помощью скрипта Python, чтобы он автоматически регулировал соотношение высоты и ширины? Я использую следующий код:Изменение размера изображения с помощью Python с фиксированным соотношением сторон

def Do(Environment): 
    # Resize 
    App.Do(Environment, 'Resize', { 
      'AspectRatio': 1.33333, 
      'CurrentDimensionUnits': App.Constants.UnitsOfMeasure.Pixels, 
      'CurrentResolutionUnits': App.Constants.ResolutionUnits.PixelsPerIn, 
      'Height': 1440, 
      'MaintainAspectRatio': True, 
      'Resample': True, 
      'ResampleType': App.Constants.ResampleType.SmartSize, 
      'ResizeAllLayers': True, 
      'Resolution': 72, 
      'Width': 1920, 
      }) 

Используя этот код прекрасно работает, если соотношение сторон изображения является таким же, как определено в одном коде - т.е. 1,33333. Но как мне заставить работать с изображениями, которые не имеют такого отношения? Для меня важно то, что новая ширина равна 1920; Высота должна быть в состоянии настроить автоматически. Любые идеи, которые часть моего кода должна быть изменена и как?

+0

Это о Google App Engine? Вы должны сказать это в вопросе и теге соответственно. – kriss

+0

Пожалуйста, отредактируйте этот вопрос, чтобы указать, какую среду и процессор изображения вы используете. –

ответ

1

Согласно this forum post,

магическим словом пока None

– т.е. изменить

'Height': 1440, 

к

'Height': None, 

Как мы выяснили в комментариях ниже, вам также необходимо установить AspectRatio в None.

+0

Не работает. Это мой сценарий PSP9. Когда я запускаю его, он по-прежнему применяет 1440. Выглядит немного сложнее ... –

+0

@David Vinklar: Вы пытались установить 'AspectRatio' на' None'? В конце концов, если задано 'AspectRatio = 1.3333' и' Width = 1920', имеет смысл, что вы все равно получаете 1440. – balpha

+0

Выполнено с удовольствием ... :-) Возможно, еще один маленький вопрос. В чем смысл вышеуказанного значения: «Разрешение»: 72. Если бы оно было настроено на какое-то другое значение, это что-то изменило бы, и если да, то что? Нужно ли вообще иметь его? –