Pillow- putpixel --ValueError: invalid palette size 错误
程序员文章站
2024-03-13 20:54:16
...
场景还原
putpixel操作 实现随即色的图片
from PIL import Image
from random import randint
img_ = Image.open('256.bmp')
for w in range(200, 280): # 这里是设置图形的宽度 范围
for h in range(100, 150): # 这里是设置图形高度 范围
r = randint(0, 255) # 取值 0-255 随机数的值 作为颜色值
g = randint(0, 255)
b = randint(0, 255)
img_.putpixel((w, h), (r, g, b)) # 设置指定范围的颜色值
img_.show()
执行这段代码的时候,发现怎么也不能把颜色添加到 256.bmp上
出现了以下错误报错信息:无效的面板尺寸。由此可以得知 是我们的画板出的问题
我们来看生成画板的,保存时候选择的 bmp 颜色位数。
当时我选择的是 256 色位图所以出现了错误,我们应该选择图中的 24位位图
然后再 执行代码
想要的效果就出现了。
错误的原因
我们在 白板上使用的颜色 是使用的 RGB 颜色
RGB颜色,电脑上可以显示多少种颜色?
-
16777216种
-
256 × 256 × 256 = 16777216。
通常也被简称为1600万色或千万色。也称为24位色(2的24次方)。电脑屏幕上的所有颜色,都由这红色绿色蓝色三种色光按照不同的比例混合而成的。一组红色绿色蓝色就是一个最小的显示单位。屏幕上的任何一个颜色都可以由一组RGB值来记录和表达。
256 色位图是什么
- 256色位图:图像只能由256种颜色构成
理解了吧,我们是想在画板上 使用 RGB 画 224 种颜色,选择 256色位图是跟不行的。所以才出现了 无效的面板尺寸。
上一篇: mongo-java应用监控