30 : mColorizeColor( QColor::fromRgb( 255, 128, 128 ) )
40 QPainter *painter = context.
painter();
54 painter->setCompositionMode( mBlendMode );
55 painter->drawImage(
imageOffset( context ), image );
62 props.insert( QStringLiteral(
"enabled" ),
mEnabled ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
63 props.insert( QStringLiteral(
"draw_mode" ), QString::number(
int(
mDrawMode ) ) );
64 props.insert( QStringLiteral(
"blend_mode" ), QString::number(
int( mBlendMode ) ) );
65 props.insert( QStringLiteral(
"opacity" ), QString::number( mOpacity ) );
66 props.insert( QStringLiteral(
"brightness" ), QString::number( mBrightness ) );
67 props.insert( QStringLiteral(
"contrast" ), QString::number( mContrast ) );
68 props.insert( QStringLiteral(
"saturation" ), QString::number( mSaturation ) );
69 props.insert( QStringLiteral(
"grayscale_mode" ), QString::number(
int( mGrayscaleMode ) ) );
70 props.insert( QStringLiteral(
"colorize" ), mColorizeOn ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
72 props.insert( QStringLiteral(
"colorize_strength" ), QString::number( mColorizeStrength ) );
80 QPainter::CompositionMode mode =
static_cast< QPainter::CompositionMode
>( props.value( QStringLiteral(
"blend_mode" ) ).toInt( &ok ) );
85 if ( props.contains( QStringLiteral(
"transparency" ) ) )
87 double transparency = props.value( QStringLiteral(
"transparency" ) ).toDouble( &ok );
90 mOpacity = 1.0 - transparency;
95 double opacity = props.value( QStringLiteral(
"opacity" ) ).toDouble( &ok );
101 mEnabled = props.value( QStringLiteral(
"enabled" ), QStringLiteral(
"1" ) ).toInt();
104 mBrightness = props.value( QStringLiteral(
"brightness" ), QStringLiteral(
"0" ) ).toInt();
105 mContrast = props.value( QStringLiteral(
"contrast" ), QStringLiteral(
"0" ) ).toInt();
106 mSaturation = props.value( QStringLiteral(
"saturation" ), QStringLiteral(
"1.0" ) ).toDouble();
108 mColorizeOn = props.value( QStringLiteral(
"colorize" ), QStringLiteral(
"0" ) ).toInt();
109 if ( props.contains( QStringLiteral(
"colorize_color" ) ) )
113 mColorizeStrength = props.value( QStringLiteral(
"colorize_strength" ), QStringLiteral(
"100" ) ).toInt();
A paint effect which alters the colors (e.g., brightness, contrast) in a source picture.
void readProperties(const QVariantMap &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.
QgsColorEffect * clone() const override
Duplicates an effect by creating a deep copy of the effect.
void setColorizeColor(const QColor &colorizeColor)
Sets the color used for colorizing a picture.
static QgsPaintEffect * create(const QVariantMap &map)
Creates a new QgsColorEffect effect from a properties string map.
void draw(QgsRenderContext &context) override
Handles drawing of the effect's result on to the specified render context.
QVariantMap properties() const override
Returns the properties describing the paint effect encoded in a string format.
QColor colorizeColor() const
Returns the color used for colorizing a picture.
static void convertToGrayscale(QImage &image, GrayscaleMode mode=GrayscaleLuminosity)
Convert a QImage to a grayscale image.
static void multiplyOpacity(QImage &image, double factor)
Multiplies opacity of image pixel values by a factor.
static void adjustHueSaturation(QImage &image, double saturation, const QColor &colorizeColor=QColor(), double colorizeStrength=1.0)
Alter the hue or saturation of a QImage.
static void adjustBrightnessContrast(QImage &image, int brightness, double contrast)
Alter the brightness or contrast of a QImage.
GrayscaleMode
Modes for converting a QImage to grayscale.
Base class for visual effects which can be applied to QPicture drawings.
const QPicture * source() const
Returns the source QPicture.
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.
QImage * sourceAsImage(QgsRenderContext &context)
Returns the source QPicture rendered to a new QImage.
Contains information about the context of a rendering operation.
QPainter * painter()
Returns the destination QPainter for the render operation.
Scoped object for saving and restoring a QPainter object's state.
static QColor decodeColor(const QString &str)
static QString encodeColor(const QColor &color)