Читайте цвета изображения с Python (GAE) - PullRequest
1 голос
/ 10 октября 2008

Как я могу прочитать цвета изображения с помощью Python с помощью Google App Engine?

Пример: Мне нравится создавать функцию для определения наиболее ярких цветов изображения, чтобы установить для него гармонический цвет фона.

Ответы [ 3 ]

2 голосов
/ 11 октября 2008

Для PNG вы можете использовать Модуль PyPNG - легкий PNG-декодер / кодировщик из чистого Python.

import png

point = (10, 20) # coordinates of pixel to read

reader = png.Reader(filename='image.png') # streams are also accepted
w, h, pixels, metadata = reader.read()
pixel_byte_width = 4 if metadata['has_alpha'] else 3
pixel_position = point[0] + point[1] * w
print pixels[
  pixel_position * pixel_byte_width :
  (pixel_position + 1) * pixel_byte_width]
2 голосов
/ 10 октября 2008

API Images (в настоящее время) не содержит функций на уровне пикселей. Цитировать обзорный документ:

Примечание. Чтобы использовать API изображений в вашей локальной среде, вы должны сначала загрузить и установить PIL, библиотеку изображений Python. PIL недоступен в App Engine; он используется только в качестве заглушки для API изображений в вашей локальной среде. В App Engine доступны только преобразования, предоставленные в API изображений.

Сообщество уже некоторое время просит полную поддержку PIL , но, похоже, нам придется подождать.

0 голосов
/ 10 октября 2008

Если вы хотите разместить Flash или Java-апплет на странице, вы можете сделать это на клиенте. Я не уверен, что что-то вроде canvas или SVG поддерживает манипуляции на уровне пикселей, но если они это сделают, вы сможете заставить его работать в некоторых браузерах с JavaScript.

Апплет Flash или Java может быть невидимым и необязательным - вы можете использовать JavaScript, чтобы определить, есть ли у пользователя плагин, и поддерживать эту функцию только тогда, когда он есть.

...