• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kdefx

KImageEffect Class Reference

This class includes various QImage based graphical effects. More...

#include <kimageeffect.h>

List of all members.


Public Types

enum  BumpmapType { Linear, Spherical, Sinuosidal }
enum  Disposition {
  NoImage = 0, Centered, Tiled, CenterTiled,
  CenteredMaxpect, TiledMaxpect, Scaled, CenteredAutoFit
}
enum  GradientType {
  VerticalGradient, HorizontalGradient, DiagonalGradient, CrossDiagonalGradient,
  PyramidGradient, RectangleGradient, PipeCrossGradient, EllipticGradient
}
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  RGBComponent {
  Red, Green, Blue, Gray,
  All
}
enum  RotateDirection { Rotate90, Rotate180, Rotate270 }

Static Public Member Functions

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

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()
Enumerator:
Linear 
Spherical 
Sinuosidal 

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()
Enumerator:
VerticalGradient 
HorizontalGradient 
DiagonalGradient 
CrossDiagonalGradient 
PyramidGradient 
RectangleGradient 
PipeCrossGradient 
EllipticGradient 

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.

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::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@kde.org>

Definition at line 2378 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.

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 &  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 &  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 (gallium@kde.org)

Fredrik Höglund (fredrik@kde.org)

Definition at line 1308 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 (gallium@kde.org)

Fredrik Höglund (fredrik@kde.org)

Definition at line 1067 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.

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 ( 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.

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.

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::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::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@kde.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@kde.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  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.

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.

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  )  [static]

Convenience method.

Definition at line 4035 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.

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@benroe.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  factor = 30.0 
) [static]

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

Definition at line 4430 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.

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

kdefx

Skip menu "kdefx"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal