11#include <klocalizedstring.h>
23template<
typename _channel_type_,
typename traits>
32 void transform(
const quint8 *srcU8, quint8 *dstU8, qint32 nPixels)
const override
36 float value_red, value_green, value_blue, new_value_red, new_value_green, new_value_blue;
37 const float factor(
exposure * 0.333333);
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);
54 dst->alpha = src->alpha;
71 if (name ==
"exposure")
111 dbgKrita <<
"Unsupported color space " << colorSpace->
id() <<
" in KisBurnShadowsAdjustment::createTransformation";
127 dbgKrita <<
"Unsupported color space " << colorSpace->
id() <<
" in KisBurnShadowsAdjustment::createTransformation";
const KoID Float32BitsColorDepthID("F32", ki18n("32-bit float/channel"))
const KoID Float16BitsColorDepthID("F16", ki18n("16-bit float/channel"))
const KoID Integer8BitsColorDepthID("U8", ki18n("8-bit integer/channel"))
const KoID Integer16BitsColorDepthID("U16", ki18n("16-bit integer/channel"))
const KoID RGBAColorModelID("RGBA", ki18n("RGB/Alpha"))
QList< QPair< KoID, KoID > > supportedModels() const override
KisBurnShadowsAdjustmentFactory()
KoColorTransformation * createTransformation(const KoColorSpace *colorSpace, QHash< QString, QVariant > parameters) const override
KisBurnShadowsAdjustment()
void setParameter(int id, const QVariant ¶meter) override
void transform(const quint8 *srcU8, quint8 *dstU8, qint32 nPixels) const override
int parameterId(const QString &name) const override
QList< QString > parameters() const override
static _Tdst scaleToA(_T a)
virtual KoID colorModelId() const =0
virtual KoID colorDepthId() const =0