|
|
1
Nadia Alramli
15 年前
< Buff行情>
是image.point()的正确工具
这份工作?
< /块引用>
是的,确实如此,
image.point()
is perfect for this job
什么格式/结构
image.point()是否需要该表?
< /块引用>
您应该展平列表,以便代替
[(12,140,10),(10,100,200),…]
use:。
[12,140,10,10,100,200,…]
< /代码>
下面是我刚刚尝试的一个简单示例:
im=im.point(range(256,0,-1)*3)
< /代码>

顺便说一句,如果你需要更多的颜色控制,你会感觉到图像。Point不适合你,你也可以使用image.getdata和image.putdata比两者都更快速地改变颜色load和putPixel。它慢于image.pointthough.
image.getdata为您提供所有像素的列表,使用image.putdata修改并写回它们。就是这么简单。但请尝试使用image.point.first.
编辑
我在第一个解释中犯了一个错误,现在我要正确解释:
颜色表实际上是这样的
[0,1,2,3,4,5,…255,0,1,2,3,….255,0,1,2,3,….255]
< /代码>
每个波段彼此相邻。
要将颜色(0,0,0)更改为(10,100,10),需要如下所示:
[10,1,2,3,4,5,…255,100,1,2,3,….255,10,1,2,3,….255]
< /代码>
要将颜色列表转换为正确的格式,请尝试以下操作:
table=sum(zip(*colors),())
< /代码>
我认为我的第一个示例应该为您演示格式。
或
这份工作?
是的,
Image.point()
非常适合这份工作
什么格式/结构
image.point()是否需要该表?
你应该把名单展平,所以不要
[(12, 140, 10), (10, 100, 200), ...]
用途:
[12, 140, 10, 10, 100, 200, ...]
下面是我刚刚尝试的一个简单示例:
im = im.point(range(256, 0, -1) * 3)
顺便说一句,如果你需要更多的颜色控制,你会感觉到图像。Point不适合你,你也可以使用
Image.getdata
和
Image.putdata
比两种颜色都更快地改变颜色
load
和
putpixel
. 它比
Image.point
不过。
获取数据
提供所有像素的列表,修改它们并使用
图像数据
. 就是这么简单。但是试着用
图像点
第一。
编辑
我在第一个解释中犯了一个错误,现在我将正确解释:
颜色表实际上是这样的
[0, 1, 2, 3, 4, 5, ...255, 0, 1, 2, 3, ....255, 0, 1, 2, 3, ...255]
每个波段彼此相邻。
要将颜色(0,0,0)更改为(10,100,10),需要如下所示:
[10, 1, 2, 3, 4, 5, ...255, 100, 1, 2, 3, ....255, 10, 1, 2, 3, ...255]
要将颜色列表转换为正确的格式,请尝试以下操作:
table = sum(zip(*colors), ())
我认为我的第一个示例应该为您演示格式化。
|