[ create a new paste ] login | about

Link: http://codepad.org/goCDlYIl    [ raw code | fork ]

C, pasted on May 23:
void hsvtorgb(int h, unsigned char s, unsigned char v, unsigned char *r, unsigned char *g, unsigned char *b) {

	int f, p, q, t;

	if(s == 0) {
		*r = *g = *b = v;
		return;
	}

	f = ((h%60)*255)/60;
	h /= 60;

	p = (v*(256-s))/256;
	q = (v*(256-(s*f)/256))/256;
	t = (v*(256-(s*(256-f))/256))/256;

	switch(h){
		case 0: *r = v, *g = t, *b = p; break;
		case 1: *r = q, *g = v, *b = p; break;
		case 2: *r = p, *g = v, *b = t; break;
		case 3: *r = p, *g = q, *b = v; break;
		case 4: *r = t, *g = p, *b = v; break;
		case 5: *r = v, *g = p, *b = q; break;
	}
}


Create a new paste based on this one


Comments: