1

如何使用谷歌应用引擎使用 python 读取图像的颜色?

示例:我喜欢构建一个函数来确定图像中最引人注目的颜色,从而为其设置谐波背景颜色。

4

3 回答 3

2

图片 API (当前)不包含像素级函数。引用概述文件:

注意:为了在本地环境中使用图像 API,您必须首先下载并安装 Python 图像库 PIL。PIL 在 App Engine 上不可用;它仅用作本地环境中图像 API 的存根。App Engine 上仅提供图像 API 中提供的转换。

一段时间以来,社区一直在寻求PIL的全面支持,但看起来我们必须等待。

于 2008-10-10T11:02:47.113 回答
2

对于 PNG,您可以使用PyPNG 模块- 轻量级的纯 Python PNG 解码器/编码器。

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]
于 2008-10-11T00:08:08.623 回答
0

如果您愿意将 Flash 或 Java 小程序放在页面上,您也许可以在客户端上完成。我不确定画布或 SVG 之类的东西是否支持像素级操作,但如果它们支持,您也许可以让它在某些带有 JavaScript 的浏览器中工作。

Flash 或 Java Applet 可以是不可见的和可选的——您可以使用 JavaScript 来检测用户是否拥有该插件,并且只有在他们拥有该插件时才支持此功能。

于 2008-10-10T11:55:46.730 回答