Example #1
0
CChromaMask::CChromaMask(CChromaDlg* pDlg)
{
	int			i;
   	FRMTYPEINFO TypeInfo;
   	BOOL        EnableFade;

	m_pDlg 		= pDlg;
   	ImgGetTypeInfo(pDlg->GetImage(), &TypeInfo);
   	EnableFade = TypeInfo.DataType != FDT_LINEART && TypeInfo.DataType != FDT_PALETTECOLOR;
	ChromaCombineMode = SHAPE_ADD;
   	Fade = EnableFade? 10 : 0;
   	Delete = FALSE;
   	ActiveChromaMask = Mask = 0;
   	ChromaColorMode = IDC_CHROMA_HSL;

   	for (i=0; i < NUM_CHROMAMASKS; i++)
	{
   		MaskRange[i] = 10;
    	MaskColor[i].rgb.red   = 255;
    	MaskColor[i].rgb.green = 255;
    	MaskColor[i].rgb.blue  = 255;
    	RGBtoHSL(0,	0,	0,	&MaskColor[i].hsl);
    	RGBtoCMYK(0,0,	0,	&MaskColor[i].cmyk);
    }
}
Example #2
0
static long RGB2Pixel_32(LPFRAME lpFrame, LPRGB lpFullRGB)
{
	CMYKS cmyk;
	long color;

	RGBtoCMYK( lpFullRGB->red, lpFullRGB->green, lpFullRGB->blue, &cmyk);

	CopyCMYK( &cmyk, &color );

	return(color);
}
Example #3
0
static void SetRGB_32(
	LPFRAME lpFrame, 
	LPRGB   lpRGBPixel, 
	LPTR    lpDst, 
	int     iPixelCount)
{
	CMYKS cmyk;

	RGBtoCMYK( lpRGBPixel->red, lpRGBPixel->green, lpRGBPixel->blue, &cmyk);

	while(iPixelCount-- > 0)
	{
		*lpDst++ = cmyk.c;
		*lpDst++ = cmyk.m;
		*lpDst++ = cmyk.y;
		*lpDst++ = cmyk.k;
	}
}
Example #4
0
static void invert_proc( int y, int left, int right, LPTR lpDst,
                           LPTR lpSrc, int depth, LPVOID lpParms )
{
	int iCount;

	if (depth == 4)
	{
		LPCMYK lpCMYKSrc = (LPCMYK)lpSrc;
		LPCMYK lpCMYKDst = (LPCMYK)lpDst;
		RGBS rgb;

		iCount = (right - left + 1);

		while (--iCount >= 0)
		{
			CMYKtoRGB(
				lpCMYKDst->c,
				lpCMYKDst->m,
				lpCMYKDst->y,
				lpCMYKDst->k,
				&rgb);

			RGBtoCMYK( (BYTE)(rgb.red^0xFF), (BYTE)(rgb.green^0xFF),
				(BYTE)(rgb.blue^0xFF), lpCMYKSrc );

			lpCMYKSrc++;
			lpCMYKDst++;
		}
	}
	else
	{
		iCount = (right - left + 1) * depth;

		while (--iCount >= 0)
		{
			*lpSrc++ = (*lpDst++)^0xFF;
		}
	}
}