KImageEffect Class Reference

`#include <kimageeffect.h>`

## Public Types

enum | GradientType { VerticalGradient, HorizontalGradient, DiagonalGradient, CrossDiagonalGradient, PyramidGradient, RectangleGradient, PipeCrossGradient, EllipticGradient }
enum | RGBComponent { Red, Green, Blue, Gray, All }
enum | Lighting { NorthLite, NWLite, WestLite, SWLite, SouthLite, SELite, EastLite, NELite }
enum | ModulationType { Intensity, Saturation, HueShift, Contrast }
enum | NoiseType { UniformNoise =0, GaussianNoise, MultiplicativeGaussianNoise, ImpulseNoise, LaplacianNoise, PoissonNoise }
enum | RotateDirection { Rotate90, Rotate180, Rotate270 }
enum | BumpmapType { Linear, Spherical, Sinuosidal }
enum | Disposition { NoImage = 0, Centered, Tiled, CenterTiled, CenteredMaxpect, TiledMaxpect, Scaled, CenteredAutoFit }

## Static Public Member Functions

static QImage | gradient (const QSize &size, const QColor &ca, const QColor &cb, GradientType type, int ncols=3)
static QImage | unbalancedGradient (const QSize &size, const QColor &ca, const QColor &cb, GradientType type, int xfactor=100, int yfactor=100, int ncols=3)
static QImage & | blend (const QColor &clr, QImage &dst, float opacity)
static QImage & | blend (QImage &src, QImage &dst, float opacity)
static QImage & | blend (QImage &image, float initial_intensity, const QColor &bgnd, GradientType eff, bool anti_dir=false)
static QImage & | blend (QImage &image1, QImage &image2, GradientType gt, int xf=100, int yf=100)
static QImage & | blend (QImage &image1, QImage &image2, QImage &blendImage, RGBComponent channel)
static bool | blend (const QImage &upper, const QImage &lower, QImage &output)
static bool | blend (int &x, int &y, const QImage &upper, const QImage &lower, QImage &output)
static bool | blendOnLower (int x, int y, const QImage &upper, const QImage &lower)
static void | blendOnLower (const QImage &upper, const QPoint &upperOffset, QImage &lower, const QRect &lowerRect)
static void | blendOnLower (const QImage &upper, const QPoint &upperOffset, QImage &lower, const QRect &lowerRect, float opacity)
static QRect | computeDestinationRect (const QSize &lowerSize, Disposition disposition, QImage &upper)
static void | blendOnLower (QImage &upper, QImage &lower, Disposition disposition, float opacity)
static QImage & | channelIntensity (QImage &image, float percent, RGBComponent channel)
static QImage & | fade (QImage &image, float val, const QColor &color)
static QImage & | flatten (QImage &image, const QColor &ca, const QColor &cb, int ncols=0)
static QImage & | hash (QImage &image, Lighting lite=NorthLite, unsigned int spacing=0)
static QImage & | intensity (QImage &image, float percent)
static QImage & | modulate (QImage &image, QImage &modImage, bool reverse, ModulationType type, int factor, RGBComponent channel)
static QImage & | toGray (QImage &image, bool fast=false)
static QImage & | desaturate (QImage &image, float desat=0.3)
static QImage & | contrast (QImage &image, int c)
static QImage & | dither (QImage &image, const QColor *palette, int size)
static QImage & | selectedImage (QImage &img, const QColor &col)
static void | contrastHSV (QImage &img, bool sharpen=true)
static void | normalize (QImage &img)
static void | equalize (QImage &img)
static void | threshold (QImage &img, unsigned int value=128)
static void | solarize (QImage &img, double factor=50.0)
static QImage | emboss (QImage &src, double radius, double sigma)
static QImage | emboss (QImage &src)
static QImage | despeckle (QImage &src)
static QImage | charcoal (QImage &src, double radius, double sigma)
static QImage | charcoal (QImage &src, double factor=50.0)
static QImage | rotate (QImage &src, RotateDirection r)
static QImage | sample (QImage &src, int w, int h)
static QImage | addNoise (QImage &src, NoiseType type=GaussianNoise)
static QImage | blur (QImage &src, double radius, double sigma)
static QImage | blur (QImage &src, double factor=50.0)
static QImage | edge (QImage &src, double radius)
static QImage | implode (QImage &src, double factor=30.0, unsigned int background=0xFFFFFFFF)
static QImage | oilPaintConvolve (QImage &src, double radius)
static QImage | oilPaint (QImage &src, int radius=3)
static QImage | sharpen (QImage &src, double radius, double sigma)
static QImage | sharpen (QImage &src, double factor=30.0)
static QImage | spread (QImage &src, unsigned int amount=3)
static QImage | shade (QImage &src, bool color_shading=true, double azimuth=30.0, double elevation=30.0)
static QImage | swirl (QImage &src, double degrees=50.0, unsigned int background=0xFFFFFFFF)
static QImage | wave (QImage &src, double amplitude=25.0, double frequency=150.0, unsigned int background=0xFFFFFFFF)
static QImage | bumpmap (QImage &img, QImage &map, double azimuth, double elevation, int depth, int xofs, int yofs, int waterlevel, int ambient, bool compensate, bool invert, BumpmapType type, bool tiled)

## Detailed Description

This class includes various QImage based graphical effects.

Everything is static, so there is no need to create an instance of this class. You can just call the static methods. They are encapsulated here merely to provide a common namespace.

Definition at line 50 of file kimageeffect.h.

## Member Enumeration Documentation

enum KImageEffect::BumpmapType

This enum lists possible bumpmapping implementations.

See also
  KImageEffect::bumpmap()

Definition at line 129 of file kimageeffect.h.

enum KImageEffect::Disposition

Disposition of a source image on top of a destination image.

See also
  KImageEffect::computeDestinationRect, KImageEffect::blendOnLower

Since
  3.2

Enumerator
NoImage | Don't overlay.
Centered | Center top image on botton image.
Tiled | Tile top image on bottom image.
CenterTiled | Center and tile top image on bottom image.
CenteredMaxpect | Center and scale aspect.
TiledMaxpect | Tile and scale aspect.
Scaled | Scale.
CenteredAutoFit | Center and scale or scale aspect.

Definition at line 326 of file kimageeffect.h.

enum KImageEffect::GradientType

This enum provides a gradient type specification.

See also
  KImageEffect::blend(), KImageEffect::gradient(), KImageEffect::unbalancedGradient()

Definition at line 58 of file kimageeffect.h.

enum KImageEffect::Lighting

This enum provides a lighting direction specification.

See also
  KImageEffect::hash()

Enumerator
NorthLite | Lighting from the top of the image.
NWLite | Lighting from the top left of the image.
WestLite | Lighting from the left of the image.
SWLite | Lighting from the bottom left of the image.
SouthLite | Lighting from the bottom of the image.
SELite | Lighting from the bottom right of the image.
EastLite | Lighting from the right of the image.
NELite | Lighting from the top right of the image.

Definition at line 84 of file kimageeffect.h.

enum KImageEffect::ModulationType

This enum provides a modulation type specification.

See also
  KImageEffect::modulate()

Enumerator
Intensity | Modulate image intensity.
Saturation | Modulate image saturation.
HueShift | Modulate image hue.
Contrast | Modulate image contrast.

Definition at line 98 of file kimageeffect.h.

enum KImageEffect::NoiseType

This enum provides a noise type specification.

See also
  KImageEffect::addNoise()

Enumerator
UniformNoise | Uniform distribution.
GaussianNoise | Gaussian distribution.
MultiplicativeGaussianNoise | Multiplicative Gaussian distribution.
ImpulseNoise | Impulse distribution.
LaplacianNoise | Laplacian distribution.
PoissonNoise | Poisson distribution.

Definition at line 108 of file kimageeffect.h.

enum KImageEffect::RGBComponent

This enum provides a RGB channel specification.

See also
  KImageEffect::blend(), KImageEffect::channelIntensity(), KImageEffect::modulate()

Enumerator
Red | Red channel.
Green | Green channel.
Blue | Blue channel.
Gray | Grey channel.
All | All channels.

Definition at line 73 of file kimageeffect.h.

enum KImageEffect::RotateDirection

This enum provides a rotation specification.

See also
  KImageEffect::rotate()

Enumerator
Rotate90 | Rotate 90 degrees to the right.
Rotate180 | Rotate 180 degrees.
Rotate270 | Rotate 90 degrees to the left.

Definition at line 120 of file kimageeffect.h.

## Member Function Documentation

QImage KImageEffect::addNoise | ( | QImage & | src,
|  | NoiseType | type = `GaussianNoise`
| ) |  |

static

Adds noise to an image.

Parameters

  src | The QImage to process.
  type | The algorithm used to generate the noise.

Returns
  The image with noise added. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3112 of file kimageeffect.cpp.

QImage & KImageEffect::blend | ( | const QColor & | clr,
|  | QImage & | dst,
|  | float | opacity
| ) |  |

static

Blends a color into the destination image, using an opacity value for blending one into another.

Very fast direct pixel manipulation is used.

This function uses MMX and SSE2 instructions to blend the image on processors that support it.

Parameters

  clr | source color to be blended into the destination image.
  dst | destination image in which the source will be blended into.
  opacity | opacity (between 0.0 and 1.0) which determines how much the source color will be blended into the destination image.

Returns
  The destination image (dst) containing the result.

Author
  Karol Szwed (galli.nosp@m.um@k.nosp@m.de.or.nosp@m.g)
  Fredrik Höglund (fredr.nosp@m.ik@k.nosp@m.de.or.nosp@m.g)

Definition at line 1067 of file kimageeffect.cpp.

QImage & KImageEffect::blend | ( | QImage & | src,
|  | QImage & | dst,
|  | float | opacity
| ) |  |

static

Blend the src image into the destination image, using an opacity value for blending one into another.

Very fast direct pixel manipulation is used.

This function uses MMX and SSE2 instructions to blend the images on processors that support it.

Parameters

  src | source image to be blended into the destination image.
  dst | destination image in which the source will be blended into.
  opacity | opacity (between 0.0 and 1.0) which determines how much the source image will be blended into the destination image.

Returns
  The destination image (dst) containing the result.

Author
  Karol Szwed (galli.nosp@m.um@k.nosp@m.de.or.nosp@m.g)
  Fredrik Höglund (fredr.nosp@m.ik@k.nosp@m.de.or.nosp@m.g)

Definition at line 1308 of file kimageeffect.cpp.

QImage & KImageEffect::blend | ( | QImage & | image,
|  | float | initial_intensity,
|  | const QColor & | bgnd,
|  | GradientType | eff,
|  | bool | anti_dir = `false`
| ) |  |

static

Blend the provided image into a background of the indicated color.

Parameters

  initial_intensity | this parameter takes values from -1 to 1: a) if positive: how much to fade the image in its less affected spot b) if negative: roughly indicates how much of the image remains unaffected
  bgnd | indicates the color of the background to blend in
  eff | lets you choose what kind of blending you like
  anti_dir | blend in the opposite direction (makes no much sense with concentric blending effects)
  image | must be 32bpp

Definition at line 1537 of file kimageeffect.cpp.

QImage & KImageEffect::blend | ( | QImage & | image1,
|  | QImage & | image2,
|  | GradientType | gt,
|  | int | xf = `100`,
|  | int | yf = `100`
| ) |  |

static

Blend an image into another one, using a gradient type for blending from one to another.

Parameters

  image1 | source1 and result of blending
  image2 | source2 of blending
  gt | gradient type for blending between source1 and source2
  xf | x decay length for unbalanced gradient tpye
  yf | y decay length for unbalanced gradient tpye

Definition at line 1745 of file kimageeffect.cpp.

QImage & KImageEffect::blend | ( | QImage & | image1,
|  | QImage & | image2,
|  | QImage & | blendImage,
|  | RGBComponent | channel
| ) |  |

static

Blend an image into another one, using a color channel of a third image for the decision of blending from one to another.

Parameters

  image1 | Source 1 and result of blending
  image2 | Source 2 of blending
  blendImage | If the gray value of of pixel is 0, the result for this pixel is that of image1; for a gray value of 1, the pixel of image2 is used; for a value in between, a corresponding blending is used.
  channel | The RBG channel to use for the blending decision.

Definition at line 1763 of file kimageeffect.cpp.

bool KImageEffect::blend | ( | const QImage & | upper,
|  | const QImage & | lower,
|  | QImage & | output
| ) |  |

static

Blend an image into another one, using alpha in the expected way.

Parameters

  upper | the "upper" image
  lower | the "lower" image
  output | the target image

Author
  Rik Hemsley (rikkus) rik@k.nosp@m.de.o.nosp@m.rg

Definition at line 2378 of file kimageeffect.cpp.

bool KImageEffect::blend | ( | int & | x,
|  | int & | y,
|  | const QImage & | upper,
|  | const QImage & | lower,
|  | QImage & | output
| ) |  |

static

Blend an image into another one, using alpha in the expected way and over coordinates `x` and `y` with respect to the lower image.

The output is a QImage which is the `upper` image already blended with the `lower` one, so its size will be (in general) the same than `upper` instead of the same size than `lower` like the method above. In fact, the size of `output` is like upper's one only when it can be painted on lower, if there has to be some clipping, output's size will be the clipped area and x and y will be set to the correct up-left corner where the clipped rectangle begins.

Parameters

  x | x-coordinate of lower image
  y | y-coordinate of lower image
  upper | the "upper" image
  lower | the "lower" image
  output | the target image

Definition at line 2450 of file kimageeffect.cpp.

bool KImageEffect::blendOnLower | ( | int | x,
|  | int | y,
|  | const QImage & | upper,
|  | const QImage & | lower
| ) |  |

static

Blend an image into another one, using alpha in the expected way and over coordinates `x` and `y` with respect to the lower image.

The output is painted in the own `lower` image. This is an optimization of the blend method above provided by convenience.

Parameters

  x | x-coordinate of lower image
  y | y-coordinate of lower image
  upper | the "upper" image
  lower | the "lower" image, which becomes the output image

Definition at line 2514 of file kimageeffect.cpp.

void KImageEffect::blendOnLower | ( | const QImage & | upper,
|  | const QPoint & | upperOffset,
|  | QImage & | lower,
|  | const QRect & | lowerRect
| ) |  |

static

Blend part of an image into part of another, using the alpha channel in the expected way.

Note that the destination rectangle will be correctly clipped.

Parameters

  upper | the "upper" image
  upperOffset | Offset for the part of the upper image to be used.
  lower | the "lower" image
  lowerRect | Rectangle for the part of the lower image where the blending will occur.

Since
  3.2

Definition at line 2584 of file kimageeffect.cpp.

void KImageEffect::blendOnLower | ( | const QImage & | upper,
|  | const QPoint & | upperOffset,
|  | QImage & | lower,
|  | const QRect & | lowerRect,
|  | float | opacity
| ) |  |

static

Blend part of an image into part of another, using the opacity value and the alpha channel in the expected way.

Note that the destination rectangle will be correctly clipped.

Parameters

  upper | the "upper" image
  upperOffset | Offset for the part of the upper image to be used.
  lower | the "lower" image
  lowerRect | Rectangle for the part of the lower image where the blending will occur.
  opacity | Opacity (between 0.0 and 1.0) which determines how much the source image will be blended into the destination image.

Since
  3.2

Definition at line 2606 of file kimageeffect.cpp.

void KImageEffect::blendOnLower | ( | QImage & | upper,
|  | QImage & | lower,
|  | Disposition | disposition,
|  | float | opacity
| ) |  |

static

Blend an image on top of another using a given disposition and a given opacity.

The alpha channel of the upper image is used in the expected way. Beware the upper image may be modified.

Since
  3.2

Definition at line 2693 of file kimageeffect.cpp.

QImage KImageEffect::blur | ( | QImage & | src,
|  | double | radius,
|  | double | sigma
| ) |  |

static

Blurs an image by convolving pixel neighborhoods.

Parameters

  src | The QImage to process.
  radius | The radius of the gaussian not counting the center pixel. Use 0 and a suitable radius will be automatically used.
  sigma | The standard deviation of the gaussian. Use 1 if you're not sure.

Returns
  The blurred image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 4260 of file kimageeffect.cpp.

QImage KImageEffect::blur | ( | QImage & | src,
|  | double | factor = `50.0`
| ) |  |

static

This is provided for binary compatability only! Use the above method with a radius and sigma instead!

Definition at line 4254 of file kimageeffect.cpp.

QImage KImageEffect::bumpmap | ( | QImage & | img,
|  | QImage & | map,
|  | double | azimuth,
|  | double | elevation,
|  | int | depth,
|  | int | xofs,
|  | int | yofs,
|  | int | waterlevel,
|  | int | ambient,
|  | bool | compensate,
|  | bool | invert,
|  | BumpmapType | type,
|  | bool | tiled
| ) |  |

static

A bumpmapping algorithm.

Parameters

  img | the image you want bumpmap
  map | the map used
  azimuth | azimuth
  elevation | elevation
  depth | depth (not the depth of the image, but of the map)
  xofs | X offset
  yofs | Y offset
  waterlevel | level that full transparency should represent
  ambient | ambient lighting factor
  compensate | compensate for darkening
  invert | invert bumpmap
  type | type of the bumpmap
  tiled | tile the bumpmap over the image through the Y offset

Returns
  The destination image (dst) containing the result.

Author
  Zack Rusin zack@.nosp@m.kde..nosp@m.org

Parameters

  img | the image you want bumpmap
  map | the map used
  azimuth | azimuth
  elevation | elevation
  depth | depth (not the depth of the image, but of the map)
  xofs | X offset
  yofs | Y offset
  waterlevel | level that full transparency should represent
  ambient | ambient lighting factor
  compensate | compensate for darkening
  invert | invert bumpmap
  type | type of the bumpmap

Returns
  The destination image (dst) containing the result.

Author
  Zack Rusin zack@.nosp@m.kde..nosp@m.org

Definition at line 4851 of file kimageeffect.cpp.

QImage & KImageEffect::channelIntensity | ( | QImage & | image,
|  | float | percent,
|  | RGBComponent | channel
| ) |  |

static

Modifies the intensity of a pixmap's RGB channel component.

Parameters

  image | The QImage to process.
  percent | Percent value. Use a negative value to dim.
  channel | Which channel(s) should be modified

Returns
  The `image`, provided for convenience.

Author
  Daniel M. Duley (mosfet)

Definition at line 846 of file kimageeffect.cpp.

QImage KImageEffect::charcoal | ( | QImage & | src,
|  | double | radius,
|  | double | sigma
| ) |  |

static

Produces a neat little "charcoal" effect.

Parameters

  src | The QImage to process.
  radius | The radius of the gaussian not counting the center pixel. Use 0 and a suitable radius will be automatically used.
  sigma | The standard deviation of the gaussian. Use 1 if you're not sure.

Returns
  The charcoal image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3683 of file kimageeffect.cpp.

QImage KImageEffect::charcoal | ( | QImage & | src,
|  | double | factor = `50.0`
| ) |  |

static

This is provided for binary compatability only! Use the above method with a radius and sigma instead!

Definition at line 3677 of file kimageeffect.cpp.

QRect KImageEffect::computeDestinationRect | ( | const QSize & | lowerSize,
|  | Disposition | disposition,
|  | QImage & | upper
| ) |  |

static

Compute the destination rectangle where to draw the upper image on top of another image using the given disposition.

For tiled disposition, the rectangle should be duplicated on the whole area to obtained the wanted effect.

Parameters

  lowerSize | The size of the destination image.
  disposition | The wanted disposition.
  upper | The upper image. Note that this image may be scaled to adjust to the requested disposition.

Returns
  the computed rectangle. Its size may exceed lowerSize.

Since
  3.2

Definition at line 2628 of file kimageeffect.cpp.

QImage & KImageEffect::contrast | ( | QImage & | image,
|  | int | c
| ) |  |

static

Fast, but low quality contrast of an image.

Also see contrastHSV.

Parameters

  image | The QImage to process.
  c | A contrast value between -255 to 255.

Returns
  The image(), provided for convenience.

Author
  Daniel M. Duley (mosfet)

  ### KDE 4: remove

Definition at line 2199 of file kimageeffect.cpp.

void KImageEffect::contrastHSV | ( | QImage & | img,
|  | bool | sharpen = `true`
| ) |  |

static

High quality, expensive HSV contrast.

You can do a faster one by just taking a intensity threshold (ie: 128) and incrementing RGB color channels above it and decrementing those below it, but this gives much better results.

Parameters

  img | The QImage to process.
  sharpen | If true sharpness is increase, (spiffed). Otherwise it is decreased, (dulled).

Author
  Daniel M. Duley (mosfet)

Definition at line 4614 of file kimageeffect.cpp.

QImage & KImageEffect::desaturate | ( | QImage & | image,
|  | float | desat = `0.3`
| ) |  |

static

Desaturate an image evenly.

Parameters

  image | The QImage to process.
  desat | A value between 0 and 1 setting the degree of desaturation

Returns
  Returns the image(), provided for convenience.

Definition at line 2176 of file kimageeffect.cpp.

QImage KImageEffect::despeckle | ( | QImage & | src | ) |

static

Minimizes speckle noise in the source image using the 8 hull algorithm.

Parameters

  src | The QImage to process.

Returns
  The despeckled image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 2906 of file kimageeffect.cpp.

QImage & KImageEffect::dither | ( | QImage & | image,
|  | const QColor * | palette,
|  | int | size
| ) |  |

static

Dither an image using Floyd-Steinberg dithering for low-color situations.

Parameters

  image | The QImage to process.
  palette | The color palette to use
  size | The size of the palette

Returns
  Returns the image(), provided for convenience.

Definition at line 2261 of file kimageeffect.cpp.

QImage KImageEffect::edge | ( | QImage & | src,
|  | double | radius
| ) |  |

static

Detects edges in an image using pixel neighborhoods and an edge detection mask.

Parameters

  src | The QImage to process.
  radius | The radius of the gaussian not counting the center pixel. Use 0 and a suitable radius will be automatically used.

Returns
  The image with edges detected. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 4003 of file kimageeffect.cpp.

QImage KImageEffect::emboss | ( | QImage & | src,
|  | double | radius,
|  | double | sigma
| ) |  |

static

Embosses the source image.

This involves highlighting the edges and applying various other enhancements in order to get a metal effect.

Parameters

  src | The QImage to process.
  radius | The radius of the gaussian not counting the center pixel. Use 0 and a suitable radius will be automatically used.
  sigma | The standard deviation of the gaussian. Use 1 if you're not sure.

Returns
  The embossed image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 4041 of file kimageeffect.cpp.

QImage KImageEffect::emboss | ( | QImage & | src | ) |

static

Convenience method.

Definition at line 4035 of file kimageeffect.cpp.

void KImageEffect::equalize | ( | QImage & | img | ) |

static

Performs histogram equalisation on the reference image.

Parameters

  img | the image that is equalised

Author
  Daniel M. Duley (mosfet)

Definition at line 3903 of file kimageeffect.cpp.

QImage & KImageEffect::fade | ( | QImage & | image,
|  | float | val,
|  | const QColor & | color
| ) |  |

static

Fade an image to a certain background color.

The number of colors will not be changed.

Parameters

  image | The QImage to process.
  val | The strength of the effect. 0 <= val <= 1.
  color | The background color.

Returns
  Returns the image(), provided for convenience.

Definition at line 2044 of file kimageeffect.cpp.

QImage & KImageEffect::flatten | ( | QImage & | image,
|  | const QColor & | ca,
|  | const QColor & | cb,
|  | int | ncols = `0`
| ) |  |

static

This recolors a pixmap.

The most dark color will become color a, the most bright one color b, and in between.

Parameters

  image | A QImage to process.
  ca | Color a
  cb | Color b
  ncols | The number of colors to dither the image to. Pass 0 to prevent dithering.

Definition at line 1947 of file kimageeffect.cpp.

QImage KImageEffect::gradient | ( | const QSize & | size,
|  | const QColor & | ca,
|  | const QColor & | cb,
|  | GradientType | type,
|  | int | ncols = `3`
| ) |  |

static

Create a gradient from color a to color b of the specified type.

Parameters

  size | The desired size of the gradient.
  ca | Color a
  cb | Color b
  type | The type of gradient.
  ncols | The number of colors to use when not running on a truecolor display. The gradient will be dithered to this number of colors. Pass 0 to prevent dithering.

Definition at line 124 of file kimageeffect.cpp.

QImage & KImageEffect::hash | ( | QImage & | image,
|  | Lighting | lite = `NorthLite`,
|  | unsigned int | spacing = `0`
| ) |  |

static

Build a hash on any given QImage.

Parameters

  image | The QImage to process
  lite | The hash faces the indicated lighting (cardinal poles).
  spacing | How many unmodified pixels in between hashes.

Returns
  Returns the image(), provided for convenience.

Definition at line 1866 of file kimageeffect.cpp.

QImage KImageEffect::implode | ( | QImage & | src,
|  | double | factor = `30.0`,
|  | unsigned int | background = `0xFFFFFFFF`
| ) |  |

static

Implodes an image by a specified percent.

Parameters

  src | The QImage to process.
  factor | The extent of the implosion.
  background | An RGBA value to use for the background. After the effect some pixels may be "empty". This value is used for those pixels.

Returns
  The imploded image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3242 of file kimageeffect.cpp.

QImage & KImageEffect::intensity | ( | QImage & | image,
|  | float | percent
| ) |  |

static

Either brighten or dim the image by a specified percent.

For example, .50 will modify the colors by 50%.

This function uses MMX instructions to process the image on processors that support it.

Parameters

  image | The QImage to process.
  percent | The percent value. Use a negative value to dim.

Returns
  Returns The image(), provided for convenience.

Author
  Daniel M. Duley (mosfet)
  Benjamin Roe (ben@b.nosp@m.enro.nosp@m.e.com)

Definition at line 654 of file kimageeffect.cpp.

QImage & KImageEffect::modulate | ( | QImage & | image,
|  | QImage & | modImage,
|  | bool | reverse,
|  | ModulationType | type,
|  | int | factor,
|  | RGBComponent | channel
| ) |  |

static

Modulate the image with a color channel of another image.

Parameters

  image | The QImage to modulate and result.
  modImage | The QImage to use for modulation.
  reverse | Invert the meaning of image/modImage; result is image!
  type | The modulation Type to use.
  factor | The modulation amplitude; with 0 no effect [-200;200].
  channel | The RBG channel of image2 to use for modulation.

Returns
  Returns the image(), provided for convenience.

Definition at line 937 of file kimageeffect.cpp.

void KImageEffect::normalize | ( | QImage & | img | ) |

static

Normalises the pixel values to span the full range of color values.

This is a contrast enhancement technique.

Parameters

  img | the image that is normalised

Author
  Daniel M. Duley (mosfet)

Definition at line 3693 of file kimageeffect.cpp.

QImage KImageEffect::oilPaint | ( | QImage & | src,
|  | int | radius = `3`
| ) |  |

static

This is provided for binary compatability only! Use the above method instead!

Definition at line 3606 of file kimageeffect.cpp.

QImage KImageEffect::oilPaintConvolve | ( | QImage & | src,
|  | double | radius
| ) |  |

static

Produces an oil painting effect.

Parameters

  src | The QImage to process.
  radius | The radius of the gaussian not counting the center pixel. Use 0 and a suitable radius will be automatically used.

Returns
  The new image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3612 of file kimageeffect.cpp.

QImage KImageEffect::rotate | ( | QImage & | src,
|  | RotateDirection | r
| ) |  |

static

Rotates the image by the specified amount.

Parameters

  src | The QImage to process.
  r | The rotate direction.

Returns
  The rotated image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3323 of file kimageeffect.cpp.

QImage KImageEffect::sample | ( | QImage & | src,
|  | int | w,
|  | int | h
| ) |  |

static

Scales an image using simple pixel sampling.

This does not produce nearly as nice a result as QImage::smoothScale(), but has the advantage of being much faster - only a few milliseconds.

Parameters

  src | The QImage to process.
  w | The new width.
  h | The new height.

Returns
  The scaled image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 2747 of file kimageeffect.cpp.

QImage & KImageEffect::selectedImage | ( | QImage & | img,
|  | const QColor & | col
| ) |  |

static

Calculate the image for a selected image, for instance a selected icon on the desktop.

Parameters

  img | the QImage to select
  col | the selected color, usually from QColorGroup::highlight().

Definition at line 2705 of file kimageeffect.cpp.

QImage KImageEffect::shade | ( | QImage & | src,
|  | bool | color_shading = `true`,
|  | double | azimuth = `30.0`,
|  | double | elevation = `30.0`
| ) |  |

static

Shades the image using a distance light source.

Parameters

  src | The QImage to process.
  color_shading | If true do color shading, otherwise do grayscale.
  azimuth | Determines the light source and direction.
  elevation | Determines the light source and direction.

Returns
  The shaded image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 4476 of file kimageeffect.cpp.

QImage KImageEffect::sharpen | ( | QImage & | src,
|  | double | radius,
|  | double | sigma
| ) |  |

static

Sharpens the pixels in the image using pixel neighborhoods.

Parameters

  src | The QImage to process.
  radius | The radius of the gaussian not counting the center pixel. Use 0 and a suitable radius will be automatically used.
  sigma | The standard deviation of the gaussian. Use 1 if you're not sure.

Returns
  The sharpened image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 4436 of file kimageeffect.cpp.

QImage KImageEffect::sharpen | ( | QImage & | src,
|  | double | factor = `30.0`
| ) |  |

static

This is provided for binary compatability only! Use the above method instead!

Definition at line 4430 of file kimageeffect.cpp.

void KImageEffect::solarize | ( | QImage & | img,
|  | double | factor = `50.0`
| ) |  |

static

Produces a 'solarization' effect seen when exposing a photographic film to light during the development process.

Parameters

  img | The QImage to process.
  factor | The extent of the solarization (0-99.9)

Author
  Daniel M. Duley (mosfet)

Definition at line 3421 of file kimageeffect.cpp.

QImage KImageEffect::spread | ( | QImage & | src,
|  | unsigned int | amount = `3`
| ) |  |

static

Randomly displaces pixels.

Parameters

  src | The QImage to process.
  amount | The vicinity for choosing a random pixel to swap.

Returns
  The image with pixels displaced. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3444 of file kimageeffect.cpp.

QImage KImageEffect::swirl | ( | QImage & | src,
|  | double | degrees = `50.0`,
|  | unsigned int | background = `0xFFFFFFFF`
| ) |  |

static

Swirls the image by a specified amount.

Parameters

  src | The QImage to process.
  degrees | The tightness of the swirl.
  background | An RGBA value to use for the background. After the effect some pixels may be "empty". This value is used for those pixels.

Returns
  The swirled image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3495 of file kimageeffect.cpp.

void KImageEffect::threshold | ( | QImage & | img,
|  | unsigned int | value = `128`
| ) |  |

static

Thresholds the reference image.

You can also threshold images by using ThresholdDither in the various QPixmap/QImage convert methods, but this lets you specify a threshold value.

Parameters

  img | The QImage to process.
  value | The threshold value.

Author
  Daniel M. Duley (mosfet)

Definition at line 2810 of file kimageeffect.cpp.

QImage & KImageEffect::toGray | ( | QImage & | image,
|  | bool | fast = `false`
| ) |  |

static

Convert an image to grayscale.

Parameters

  image | The QImage to process.
  fast | Set to `true` in order to use a faster but non-photographic quality algorithm. Appropriate for things such as toolbar icons.

Returns
  Returns the image(), provided for convenience.

Author
  Daniel M. Duley (mosfet)

Definition at line 2126 of file kimageeffect.cpp.

QImage KImageEffect::unbalancedGradient | ( | const QSize & | size,
|  | const QColor & | ca,
|  | const QColor & | cb,
|  | GradientType | type,
|  | int | xfactor = `100`,
|  | int | yfactor = `100`,
|  | int | ncols = `3`
| ) |  |

static

Create an unbalanced gradient.

An unbalanced gradient is a gradient where the transition from color a to color b is not linear, but in this case, exponential.

Parameters

  size | The desired size of the gradient.
  ca | Color a
  cb | Color b
  type | The type of gradient.
  xfactor | The x decay length. Use a value between -200 and 200.
  yfactor | The y decay length.
  ncols | The number of colors. See KImageEffect:gradient.

Definition at line 388 of file kimageeffect.cpp.

QImage KImageEffect::wave | ( | QImage & | src,
|  | double | amplitude = `25.0`,
|  | double | frequency = `150.0`,
|  | unsigned int | background = `0xFFFFFFFF`
| ) |  |

static

Modifies the pixels along a sine wave.

Parameters

  src | The QImage to process.
  amplitude | The amplitude of the sine wave.
  frequency | The frequency of the sine wave.
  background | An RGBA value to use for the background. After the effect some pixels may be "empty". This value is used for those pixels.

Returns
  The new image. The original is not changed.

Author
  Daniel M. Duley (mosfet)

Definition at line 3573 of file kimageeffect.cpp.

The documentation for this class was generated from the following files:

- kimageeffect.h
- kimageeffect.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys