Q_UINT8 and Pixel

Casper Boemann cbr at boemann.dk
Fri Mar 10 16:36:36 CET 2006

From: "Leonardo Giordani" <leonardo.giordani at treuropa.com>
>I was looking at LMS color space:
> kis_lms_f32_colorspace.cc:66
> void KisLmsF32ColorSpace::setPixel(Q_UINT8 *dst, float longWave, float
> middleWave, float shortWave, float alpha) const
> {
>    Pixel *dstPixel = reinterpret_cast<Pixel *>(dst);
> Why are we using Q_UINT8 * externally, casting it to Pixel * inside?
> Asked in a better way: why are we using Q_UINT8 instead of Pixel?
Because outside of colorspaces a pixel is just bytes.

Only when inside the colorspace object does the bytes have meaning. And 
Pixel is a locally defined object inside the colopspace.

in rgb it contains r, g, b and alpha
in cmyk it contains c, m, y, k and alpha

Hope this explains it

best regards

More information about the kimageshop mailing list