在C#中,如何以编程方式生成以下图像?
http://deathmatchgame.files.wordpress.com/2010/07/color_picker.png
我很清楚这需要多长时间来处理.没关系.目前,绩效不是首要任务.
编辑请注意,我对仅显示灰度渐变的图像的右侧区域不感兴趣.
解决方法
从它的外观来看,这是一张HSL颜色图表.下面的代码将生成一个2d颜色数组,应该与图像中的颜色对应.我已经将FromHSL的实现留给了你,以及如何从这个数组到实际图像:
const int size = 1000; const double ratio = 1.0 / size; const double saturation = 1.0; Color[,] colors = new Color[size,size]; for (int i = 0; i < size; i++) { double lightness = 1.0 - i*ratio; for (int j = 0; j < size; j++) { double hue = j*ratio; colors[i,j] = FromHSL(hue,saturation,lightness); } }