30 : mColorizeColor( QColor::fromRgb( 255, 128, 128 ) )
40 QPainter *painter = context.
painter();
54 painter->setCompositionMode( mBlendMode );
55 painter->drawImage(
imageOffset( context ), image );
63 props.insert( QStringLiteral(
"enabled" ),
mEnabled ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
64 props.insert( QStringLiteral(
"draw_mode" ), QString::number(
int(
mDrawMode ) ) );
65 props.insert( QStringLiteral(
"blend_mode" ), QString::number(
int( mBlendMode ) ) );
66 props.insert( QStringLiteral(
"opacity" ), QString::number( mOpacity ) );
67 props.insert( QStringLiteral(
"brightness" ), QString::number( mBrightness ) );
68 props.insert( QStringLiteral(
"contrast" ), QString::number( mContrast ) );
69 props.insert( QStringLiteral(
"saturation" ), QString::number( mSaturation ) );
70 props.insert( QStringLiteral(
"grayscale_mode" ), QString::number(
int( mGrayscaleMode ) ) );
71 props.insert( QStringLiteral(
"colorize" ), mColorizeOn ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
73 props.insert( QStringLiteral(
"colorize_strength" ), QString::number( mColorizeStrength ) );
81 QPainter::CompositionMode mode =
static_cast< QPainter::CompositionMode
>( props.value( QStringLiteral(
"blend_mode" ) ).toInt( &ok ) );
86 if ( props.contains( QStringLiteral(
"transparency" ) ) )
88 double transparency = props.value( QStringLiteral(
"transparency" ) ).toDouble( &ok );
91 mOpacity = 1.0 - transparency;
96 double opacity = props.value( QStringLiteral(
"opacity" ) ).toDouble( &ok );
102 mEnabled = props.value( QStringLiteral(
"enabled" ), QStringLiteral(
"1" ) ).toInt();
105 mBrightness = props.value( QStringLiteral(
"brightness" ), QStringLiteral(
"0" ) ).toInt();
106 mContrast = props.value( QStringLiteral(
"contrast" ), QStringLiteral(
"0" ) ).toInt();
107 mSaturation = props.value( QStringLiteral(
"saturation" ), QStringLiteral(
"1.0" ) ).toDouble();
109 mColorizeOn = props.value( QStringLiteral(
"colorize" ), QStringLiteral(
"0" ) ).toInt();
110 if ( props.contains( QStringLiteral(
"colorize_color" ) ) )
114 mColorizeStrength = props.value( QStringLiteral(
"colorize_strength" ), QStringLiteral(
"100" ) ).toInt();
static void multiplyOpacity(QImage &image, const double factor)
Multiplies opacity of image pixel values by a factor.
static void convertToGrayscale(QImage &image, const GrayscaleMode mode=GrayscaleLuminosity)
Convert a QImage to a grayscale image.
void setColorizeColor(const QColor &colorizeColor)
Sets the color used for colorizing a picture.
Base class for visual effects which can be applied to QPicture drawings.
QMap< QString, QString > QgsStringMap
QImage * sourceAsImage(QgsRenderContext &context)
Returns the source QPicture rendered to a new QImage.
static QString encodeColor(const QColor &color)
static void adjustBrightnessContrast(QImage &image, const int brightness, const double contrast)
Alter the brightness or contrast of a QImage.
QPointF imageOffset(const QgsRenderContext &context) const
Returns the offset which should be used when drawing the source image on to a destination render cont...
bool enabled() const
Returns whether the effect is enabled.
DrawMode
Drawing modes for effects.
QgsColorEffect * clone() const override
Duplicates an effect by creating a deep copy of the effect.
QgsStringMap properties() const override
Returns the properties describing the paint effect encoded in a string format.
static void adjustHueSaturation(QImage &image, const double saturation, const QColor &colorizeColor=QColor(), const double colorizeStrength=1.0)
Alter the hue or saturation of a QImage.
Contains information about the context of a rendering operation.
QPainter * painter()
Returns the destination QPainter for the render operation.
void draw(QgsRenderContext &context) override
Handles drawing of the effect's result on to the specified render context.
A paint effect which alters the colors (e.g., brightness, contrast) in a source picture.
static QgsPaintEffect * create(const QgsStringMap &map)
Creates a new QgsColorEffect effect from a properties string map.
const QPicture * source() const
Returns the source QPicture.
void readProperties(const QgsStringMap &props) override
Reads a string map of an effect's properties and restores the effect to the state described by the pr...
double opacity() const
Returns the opacity for the effect.
GrayscaleMode
Modes for converting a QImage to grayscale.
QColor colorizeColor() const
Returns the color used for colorizing a picture.
static QColor decodeColor(const QString &str)