在我的C#(3.5)应用程序中,我需要获取位图的红色,绿色和蓝色通道的平均颜色值.最好不使用外部库.可以这样做吗?如果是这样,怎么样?提前致谢.
尝试使事情更精确:位图中的每个像素都有一定的RGB颜色值.我想获得图像中所有像素的平均RGB值.
我有一个RGB三元组列表,我想以这样的方式绘制它们,使它们形成像光谱一样的东西.
我把它们转换成了人们似乎推荐的HSV.
from PIL import Image, ImageDraw
import colorsys
def make_rainbow_rgb(colors, width, height):
"""colors is an array of RGB tuples, with values between 0 and 255"""
img = Image.new("RGBA", (width, height))
canvas = ImageDraw.Draw(img)
def hsl(x):
to_float = lambda x : x / 255.0
(r, g, b) = map(to_float, x)
h, s, l = colorsys.rgb_to_hsv(r,g,b)
h = h if 0 < h else 1 # 0 -> 1
return h, s, l
rainbow = sorted(colors, key=hsl)
dx = width / …Run Code Online (Sandbox Code Playgroud) 我有一个以十六进制表示的颜色列表 - 我需要对它们进行排序以匹配彩虹中的颜色顺序. - 我可以硬编码排序 - 但我觉得有一种更清洁的方式.