コード例 #1
0
/*--------------------------------------------------------------------
 * DESCRIPTION
 *	Create an SpXform_t from a data block containing a PT using the
 *	default grid size.  There is no RCS->LAB color space conversion.
 *	Used for importing the raw PT.
 *
 * AUTHOR
 * 	mjb
 *
 * DATE CREATED
 *	September 27, 1995
 *------------------------------------------------------------------*/
SpStatus_t KSPAPI SpXformCreateFromDataNC (
				KpInt32_t	Size,
				KpLargeBuffer_t	Data,
				SpXform_t	FAR *Xform)
{

	SpStatus_t	Status;
	PTRefNum_t	RefNum;

	*Xform = NULL;

	Status = SpXformLoadImp (Data, Size, NO_DT_ICC_TYPE, SpSigNone, 
				SpSigNone, &RefNum);
	if (SpStatSuccess != Status)
		return Status;

	Status = SpXformFromPTRefNumNC (&RefNum, Xform);

	#if defined KCP_DIAG_LOG
	{KpChar_t	string[256];
	sprintf (string, "\nSpXformCreateFromDataEx\n *Xform %x\n",*Xform);
	kcpDiagLog (string); }
	#endif

	return Status;
}
コード例 #2
0
/*--------------------------------------------------------------------
 * DESCRIPTION
 *	Generate Colorant and Response Curve tags for the specified
 *	Xform data.  This data is assumed to be a PT.
 *
 * AUTHOR
 * 	lsh
 *
 * DATE CREATED
 *	April 15, 1994
 *------------------------------------------------------------------*/
SpStatus_t KSPAPI SpXformCreateMatTags (
				SpProfile_t		Profile,
				KpInt32_t		DataSize,
				KpLargeBuffer_t	Data)
{
	SpStatus_t		Status;
	PTRefNum_t		RefNum;
	SpHeader_t		Hdr;
	KpInt32_t		SpDataType;

	Status = SpProfileGetHeader (Profile, &Hdr);
	if (SpStatSuccess != Status)
		return Status;

	if ((Hdr.Originator == SpSigOrgKodak1_Ver_0) ||
	    (Hdr.Originator == SpSigOrgKodak2_Ver_0)) {
		SpDataType = KCM_ICC_TYPE_0;
	}
	else {
		SpDataType = KCM_ICC_TYPE_1;
	}

	#if defined KCP_DIAG_LOG
	{KpChar_t	string[256];
	sprintf (string, "\nSpXformCreateMatTags\n Profile %x, DataSize %d, Data %x\n", Profile, DataSize, Data);
	kcpDiagLog (string); }
	#endif

	Status = SpXformLoadImp (Data, DataSize, 
			SpDataType, Hdr.DataColorSpace, Hdr.InterchangeColorSpace, &RefNum);

	if (SpStatSuccess != Status)
		return Status;

	Status = SpXformCreateMatTagsFromPT (Profile, RefNum);

	PTCheckOut (RefNum);

	return Status;
}