Hi Marti,
I want to know how many grid points are used in a clut tag. I've got
code to achieve that, but I've had to do some dodgy casts in the
process. The clut details are in _cmsStageCLutData from lcms2_plugin.h
(I'm not using a plugin though), but to use it I've had to use
_cmsStage_struct from lcms2_internal.h which isn't ideal. Is there some
better way of doing this or is it something that I'll have to live with.
I've included some simple code that I hope illustrates the problem.
Many thanks.
------------
#include "lcms2.h"
#include "lcms2_plugin.h"
#include "lcms2_internal.h"
void print_grid_points(void *p) {
unsigned int i;
void *pipeline;
cmsStage *stage;
struct _cmsStage_struct *stage_intern;
_cmsStageCLutData *clut;
// 'p' contains a clut.
// We can easily find the clut stage of the A2B0 tag..
pipeline = cmsReadTag(p, cmsSigAToB0Tag);
stage = cmsPipelineGetPtrToFirstStage(pipeline);
while (stage != NULL && cmsStageType(stage) != cmsSigCLutElemType)
stage = cmsStageNext(stage);
// Accessing the clut details from lcms2_plugin.h requires exposing
a struct
// from lcms2_internal.h.
stage_intern = (struct _cmsStage_struct *) stage;
clut = (_cmsStageCLutData *) stage_intern->Data;
// Print the grid points.
printf("Number of grid points =");
for (i = 0; i < clut->Params->nInputs; i++)
printf(" %d,", clut->Params->nSamples[i]);
printf("\n");
}
------------
John
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Lcms-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user