template<typename _channel_type_, typename traits>
class KisBurnShadowsAdjustment< _channel_type_, traits >
Definition at line 24 of file kis_burnshadows_adjustment.cpp.
template<typename _channel_type_ , typename traits >
This function apply the transformation on a given number of pixels.
- Parameters
-
| src | a pointer to the source pixels |
| dst | a pointer to the destination pixels |
| nPixels | the number of pixels |
This function may or may not be thread safe. You need to create one KoColorTransformation per thread.
Implements KoColorTransformation.
Definition at line 32 of file kis_burnshadows_adjustment.cpp.
33 {
36 float value_red, value_green, value_blue, new_value_red, new_value_green, new_value_blue;
37 const float factor(
exposure * 0.333333);
38 while (nPixels > 0) {
39
43
44 if( value_red < factor ) new_value_red = 0;
45 else new_value_red = (value_red - factor)/(1 - factor);
46 if( value_green < factor ) new_value_green = 0;
47 else new_value_green = (value_green - factor)/(1 - factor);
48 if( value_blue < factor ) new_value_blue = 0;
49 else new_value_blue = (value_blue - factor)/(1 - factor);
50
54 dst->alpha =
src->alpha;
55
56 --nPixels;
58 ++dst;
59 }
60 }
static _Tdst scaleToA(_T a)
References KisBurnShadowsAdjustment< _channel_type_, traits >::exposure, and KoColorSpaceMaths< _T, _Tdst >::scaleToA().