我有一个用黑线绘制的相对复杂的图像,我想将背景颜色从白色变为随机颜色。
使用PIL我用颜色替换所有非黑色像素:
pixels = output.getdata()
newPixels = []
for pixel in pixels:
if pixel[0] != 0 and pixel[1] != 0 and pixel[2] != 0:
newPixels.append(color)
else:
newPixels.append(pixel)
output.putdata(newPixels)
这使得线条全部呈锯齿状,因为我替换边缘平滑也不是完全黑色的像素。任何解决方案?
答案 0 :(得分:1)
看来你想保留纯黑色并取代纯白色。其他一切都需要混合。
这是进行混合的最简单方法:
newPixels.append([pixel[i] * color[i] // 255 for i in (0,1,2)])