QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
31 : mColorizeColor( QColor::fromRgb( 255, 128, 128 ) )
41 QPainter *painter = context.
painter();
70 painter->setCompositionMode( mBlendMode );
71 painter->drawImage(
imageOffset( context ), image );
78 props.insert( QStringLiteral(
"enabled" ),
mEnabled ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
79 props.insert( QStringLiteral(
"draw_mode" ), QString::number(
int(
mDrawMode ) ) );
80 props.insert( QStringLiteral(
"blend_mode" ), QString::number(
int( mBlendMode ) ) );
81 props.insert( QStringLiteral(
"opacity" ), QString::number( mOpacity ) );
82 props.insert( QStringLiteral(
"brightness" ), QString::number( mBrightness ) );
83 props.insert( QStringLiteral(
"contrast" ), QString::number( mContrast ) );
84 props.insert( QStringLiteral(
"saturation" ), QString::number( mSaturation ) );
85 props.insert( QStringLiteral(
"grayscale_mode" ), QString::number(
int( mGrayscaleMode ) ) );
86 props.insert( QStringLiteral(
"colorize" ), mColorizeOn ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
88 props.insert( QStringLiteral(
"colorize_strength" ), QString::number( mColorizeStrength ) );
96 QPainter::CompositionMode mode =
static_cast< QPainter::CompositionMode
>( props.value( QStringLiteral(
"blend_mode" ) ).toInt( &ok ) );
101 if ( props.contains( QStringLiteral(
"transparency" ) ) )
103 double transparency = props.value( QStringLiteral(
"transparency" ) ).toDouble( &ok );
106 mOpacity = 1.0 - transparency;
111 double opacity = props.value( QStringLiteral(
"opacity" ) ).toDouble( &ok );
117 mEnabled = props.value( QStringLiteral(
"enabled" ), QStringLiteral(
"1" ) ).toInt();
120 mBrightness = props.value( QStringLiteral(
"brightness" ), QStringLiteral(
"0" ) ).toInt();
121 mContrast = props.value( QStringLiteral(
"contrast" ), QStringLiteral(
"0" ) ).toInt();
122 mSaturation = props.value( QStringLiteral(
"saturation" ), QStringLiteral(
"1.0" ) ).toDouble();
124 mColorizeOn = props.value( QStringLiteral(
"colorize" ), QStringLiteral(
"0" ) ).toInt();
125 if ( props.contains( QStringLiteral(
"colorize_color" ) ) )
129 mColorizeStrength = props.value( QStringLiteral(
"colorize_strength" ), QStringLiteral(
"100" ) ).toInt();
140 mBrightness = std::clamp(
brightness, -255, 255 );
145 mContrast = std::clamp(
contrast, -100, 100 );
double opacity() const
Returns the opacity for the effect.
DrawMode
Drawing modes for effects.
static QString encodeColor(const QColor &color)
int brightness() const
Returns the brightness modification for the effect.
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...
QColor colorizeColor() const
Returns the color used for colorizing a picture.
void setColorizeColor(const QColor &colorizeColor)
Sets the color used for colorizing a picture.
bool isCanceled() const SIP_HOLDGIL
Tells whether the operation has been canceled already.
Contains information about the context of a rendering operation.
A paint effect which alters the colors (e.g., brightness, contrast) in a source picture.
static QColor decodeColor(const QString &str)
QgsColorEffect * clone() const override
Duplicates an effect by creating a deep copy of the effect.
void setBrightness(int brightness)
Sets the brightness modification for the effect.
void setContrast(int contrast)
Sets the contrast modification for the effect.
static QgsPaintEffect * create(const QVariantMap &map)
Creates a new QgsColorEffect effect from a properties string map.
static void adjustHueSaturation(QImage &image, double saturation, const QColor &colorizeColor=QColor(), double colorizeStrength=1.0, QgsFeedback *feedback=nullptr)
Alter the hue or saturation of a QImage.
Scoped object for saving and restoring a QPainter object's state.
QPointF imageOffset(const QgsRenderContext &context) const
Returns the offset which should be used when drawing the source image on to a destination render cont...
QgsFeedback * feedback() const
Returns the feedback object that can be queried regularly during rendering to check if rendering shou...
QImage * sourceAsImage(QgsRenderContext &context)
Returns the source QPicture rendered to a new QImage.
const QPicture * source() const
Returns the source QPicture.
QVariantMap properties() const override
Returns the properties describing the paint effect encoded in a string format.
Base class for visual effects which can be applied to QPicture drawings.
static void multiplyOpacity(QImage &image, double factor, QgsFeedback *feedback=nullptr)
Multiplies opacity of image pixel values by a factor.
QPainter * painter()
Returns the destination QPainter for the render operation.
bool enabled() const
Returns whether the effect is enabled.
int contrast() const
Returns the contrast modification for the effect.
GrayscaleMode
Modes for converting a QImage to grayscale.
static void convertToGrayscale(QImage &image, GrayscaleMode mode=GrayscaleLuminosity, QgsFeedback *feedback=nullptr)
Convert a QImage to a grayscale image.
static void adjustBrightnessContrast(QImage &image, int brightness, double contrast, QgsFeedback *feedback=nullptr)
Alter the brightness or contrast of a QImage.
void draw(QgsRenderContext &context) override
Handles drawing of the effect's result on to the specified render context.