示例#1
0
/* no profile conversion */
void IMB_color_to_bw(ImBuf *ibuf)
{
	float *rct_fl = ibuf->rect_float;
	uchar *rct = (uchar *)ibuf->rect;
	int i;

	if (rct_fl) {
		for (i = ibuf->x * ibuf->y; i > 0; i--, rct_fl += 4)
			rct_fl[0] = rct_fl[1] = rct_fl[2] = rgb_to_grayscale(rct_fl);
	}

	if (rct) {
		for (i = ibuf->x * ibuf->y; i > 0; i--, rct += 4)
			rct[0] = rct[1] = rct[2] = rgb_to_grayscale_byte(rct);
	}
}
示例#2
0
文件: divers.c 项目: BHCLL/blendocv
/* no profile conversion */
void IMB_color_to_bw(struct ImBuf *ibuf)
{
	float *rctf= ibuf->rect_float;
	unsigned char *rct= (unsigned char *)ibuf->rect;
	int i;
	if(rctf) {
		for (i = ibuf->x * ibuf->y; i > 0; i--, rctf+=4) {
			rctf[0]= rctf[1]= rctf[2]= rgb_to_grayscale(rctf);
		}
	}

	if(rct) {
		for (i = ibuf->x * ibuf->y; i > 0; i--, rct+=4) {
			rct[0]= rct[1]= rct[2]= rgb_to_grayscale_byte(rct);
		}
	}
}