Замена функциональности PIL (ImageDraw) в Google App Engine (GAE) - PullRequest
5 голосов
/ 15 июля 2009

Итак, Google App Engine, похоже, не собирается включать библиотеку изображений Python в ближайшее время . Существует images api , но это мизерно и недостаточно для того, что мне нужно.

Мне интересно, какие только Python (без C-расширений) могут заменить модули Image.paste и ImageDraw. Я не хочу писать их сам, но это вариант. Я также открыт для других решений, таких как «сделай обработку где-нибудь еще, затем позвони через api», если они не слишком безобразны. (Для справки, решение, которое я только что предложил, мне кажется довольно уродливым .)

Как другие обошли это?

(Я не предан GAE, просто изучаю, и это похоже на прерыватель сделки для моего приложения.)

Примечания:

Для меня обрезка, изменение размера не достаточно. В частности мне нужно

  1. вставить (заменить часть изображения на другую .... может быть подделана с помощью "составить")
  2. draw (для рисования линий сетки и т. Д. Также может быть подделано)
  3. текст (напишите текст на изображении, намного сложнее подделать, если кто-то не хочет меня поправить)

Ответы [ 4 ]

2 голосов
/ 04 июля 2012

Ваше предположение неверно. Если вы используете среду исполнения Python 2.7, вы можете использовать PIL (версия 1.1.7), как описано здесь: https://developers.google.com/appengine/docs/python/tools/libraries27. В этой статье также объясняется, как включить PIL для вашего приложения.

Кстати, последний комментарий в сообщенной вами ошибке также упоминает об этом.

2 голосов
/ 16 июля 2009

Мой skimpygimpy.sourceforge.net будет выполнять рисование и текст, но не будет редактировать существующие изображения (но его можно изменить для этого, если, конечно, вы захотите погрузиться). Это чистый питон. увидеть это работает на приложениях Google, например на http://piopio.appspot.com/W1200_1400.stdMiddleware#Header51,

Это экспериментальный сайт, с которым я буду возиться. Ссылка может не работать вечно.

1 голос
/ 04 июля 2012

Теперь в соответствии с этим билетом"В среде исполнения Python 2.7 вы можете импортировать PIL и использовать его напрямую. Это настоящий PIL, а не оболочка для API изображений."

1 голос
/ 20 февраля 2010

Я не знаю, есть ли у вас все функции, которые вы хотите, но я возился с PNGCanvas , и он делает некоторые вещи, которые я делал раньше с PIL

...