KImageEffect Class Reference
This class includes various QImage based graphical effects. More...
#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 | |
QImage | gradient (const QSize &size, const QColor &ca, const QColor &cb, GradientType type, int ncols=3) |
QImage | unbalancedGradient (const QSize &size, const QColor &ca, const QColor &cb, GradientType type, int xfactor=100, int yfactor=100, int ncols=3) |
QImage & | blend (const QColor &clr, QImage &dst, float opacity) |
QImage & | blend (QImage &src, QImage &dst, float opacity) |
QImage & | blend (QImage &image, float initial_intensity, const QColor &bgnd, GradientType eff, bool anti_dir=false) |
QImage & | blend (QImage &image1, QImage &image2, GradientType gt, int xf=100, int yf=100) |
QImage & | blend (QImage &image1, QImage &image2, QImage &blendImage, RGBComponent channel) |
bool | blend (const QImage &upper, const QImage &lower, QImage &output) |
bool | blend (int &x, int &y, const QImage &upper, const QImage &lower, QImage &output) |
bool | blendOnLower (int x, int y, const QImage &upper, const QImage &lower) |
void | blendOnLower (const QImage &upper, const QPoint &upperOffset, QImage &lower, const QRect &lowerRect) |
void | blendOnLower (const QImage &upper, const QPoint &upperOffset, QImage &lower, const QRect &lowerRect, float opacity) |
QRect | computeDestinationRect (const QSize &lowerSize, Disposition disposition, QImage &upper) |
void | blendOnLower (QImage &upper, QImage &lower, Disposition disposition, float opacity) |
QImage & | channelIntensity (QImage &image, float percent, RGBComponent channel) |
QImage & | fade (QImage &image, float val, const QColor &color) |
QImage & | flatten (QImage &image, const QColor &ca, const QColor &cb, int ncols=0) |
QImage & | hash (QImage &image, Lighting lite=NorthLite, unsigned int spacing=0) |
QImage & | intensity (QImage &image, float percent) |
QImage & | modulate (QImage &image, QImage &modImage, bool reverse, ModulationType type, int factor, RGBComponent channel) |
QImage & | toGray (QImage &image, bool fast=false) |
QImage & | desaturate (QImage &image, float desat=0.3) |
QImage & | contrast (QImage &image, int c) |
QImage & | dither (QImage &image, const QColor *palette, int size) |
QImage & | selectedImage (QImage &img, const QColor &col) |
void | contrastHSV (QImage &img, bool sharpen=true) |
void | normalize (QImage &img) |
void | equalize (QImage &img) |
void | threshold (QImage &img, unsigned int value=128) |
void | solarize (QImage &img, double factor=50.0) |
QImage | emboss (QImage &src, double radius, double sigma) |
QImage | emboss (QImage &src) |
QImage | despeckle (QImage &src) |
QImage | charcoal (QImage &src, double radius, double sigma) |
QImage | charcoal (QImage &src, double factor=50.0) |
QImage | rotate (QImage &src, RotateDirection r) |
QImage | sample (QImage &src, int w, int h) |
QImage | addNoise (QImage &src, NoiseType type=GaussianNoise) |
QImage | blur (QImage &src, double radius, double sigma) |
QImage | blur (QImage &src, double factor=50.0) |
QImage | edge (QImage &src, double radius) |
QImage | implode (QImage &src, double factor=30.0, unsigned int background=0xFFFFFFFF) |
QImage | oilPaintConvolve (QImage &src, double radius) |
QImage | oilPaint (QImage &src, int radius=3) |
QImage | sharpen (QImage &src, double radius, double sigma) |
QImage | sharpen (QImage &src, double factor=30.0) |
QImage | spread (QImage &src, unsigned int amount=3) |
QImage | shade (QImage &src, bool color_shading=true, double azimuth=30.0, double elevation=30.0) |
QImage | swirl (QImage &src, double degrees=50.0, unsigned int background=0xFFFFFFFF) |
QImage | wave (QImage &src, double amplitude=25.0, double frequency=150.0, unsigned int background=0xFFFFFFFF) |
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 48 of file kimageeffect.h.
Member Enumeration Documentation
|
This enum provides a gradient type specification. Definition at line 56 of file kimageeffect.h. |
|
This enum provides a RGB channel specification.
|
|
This enum provides a lighting direction specification.
|
|
This enum provides a modulation type specification.
|
|
This enum provides a noise type specification.
|
|
This enum provides a rotation specification.
|
|
This enum lists possible bumpmapping implementations.
|
|
Disposition of a source image on top of a destination image.
|
Member Function Documentation
|
Create a gradient from color a to color b of the specified type.
References dither(). Referenced by KPixmapEffect::gradient(). |
|
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.
References dither(). Referenced by blend(), and KPixmapEffect::unbalancedGradient(). |
|
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.
References KCPUInfo::haveExtension(). Referenced by KPixmapEffect::blend(), blend(), and selectedImage(). |
|
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.
References KCPUInfo::haveExtension(). |
|
Blend the provided image into a background of the indicated color.
References intensity(). |
|
Blend an image into another one, using a gradient type for blending from one to another.
References blend(), Red, and unbalancedGradient(). |
|
Blend an image into another one, using a color channel of a third image for the decision of blending from one to another.
|
|
Blend an image into another one, using alpha in the expected way.
|
|
Blend an image into another one, using alpha in the expected way and over coordinates
The output is a QImage which is the
|
|
Blend an image into another one, using alpha in the expected way and over coordinates
The output is painted in the own
Referenced by blendOnLower(). |
|
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.
|
|
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.
|
|
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.
References Centered, CenteredAutoFit, CenteredMaxpect, CenterTiled, NoImage, Scaled, Tiled, and TiledMaxpect. Referenced by blendOnLower(). |
|
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.
References blendOnLower(), and computeDestinationRect(). |
|
Modifies the intensity of a pixmap's RGB channel component.
Referenced by KPixmapEffect::channelIntensity(). |
|
Fade an image to a certain background color. The number of colors will not be changed.
Referenced by KPixmapEffect::fade(). |
|
This recolors a pixmap. The most dark color will become color a, the most bright one color b, and in between.
References dither(). Referenced by KPixmapEffect::pattern(). |
|
Build a hash on any given QImage.
References EastLite, NELite, NorthLite, NWLite, SELite, SouthLite, SWLite, and WestLite. Referenced by KPixmapEffect::hash(). |
|
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.
References KCPUInfo::haveExtension(). Referenced by blend(), and KPixmapEffect::intensity(). |
|
Modulate the image with a color channel of another image.
References All, Blue, Contrast, Gray, Green, HueShift, Intensity, Red, and Saturation. |
|
Convert an image to grayscale.
Referenced by charcoal(), and KPixmapEffect::toGray(). |
|
Desaturate an image evenly.
Referenced by KPixmapEffect::desaturate(). |
|
Fast, but low quality contrast of an image. Also see contrastHSV.
Referenced by KPixmapEffect::contrast(). |
|
Dither an image using Floyd-Steinberg dithering for low-color situations.
Referenced by KPixmapEffect::blend(), KPixmapEffect::dither(), flatten(), gradient(), KPixmapEffect::hash(), and unbalancedGradient(). |
|
Calculate the image for a selected image, for instance a selected icon on the desktop.
References blend(). Referenced by KPixmapEffect::selectedPixmap(). |
|
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.
|
|
Normalises the pixel values to span the full range of color values. This is a contrast enhancement technique.
Referenced by charcoal(). |
|
Performs histogram equalisation on the reference image.
Referenced by emboss(). |
|
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.
Referenced by solarize(). |
|
Produces a 'solarization' effect seen when exposing a photographic film to light during the development process.
References threshold(). |
|
Embosses the source image. This involves highlighting the edges and applying various other enhancements in order to get a metal effect.
References equalize(). Referenced by emboss(). |
|
Convenience method. Definition at line 4061 of file kimageeffect.cpp. References emboss(). |
|
Minimizes speckle noise in the source image using the 8 hull algorithm.
|
|
Produces a neat little "charcoal" effect.
References blur(), edge(), normalize(), and toGray(). Referenced by charcoal(). |
|
This is provided for binary compatability only! Use the above method with a radius and sigma instead! Definition at line 3705 of file kimageeffect.cpp. References charcoal(). |
|
Rotates the image by the specified amount.
|
|
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.
|
|
Adds noise to an image.
|
|
Blurs an image by convolving pixel neighborhoods.
Referenced by blur(), and charcoal(). |
|
This is provided for binary compatability only! Use the above method with a radius and sigma instead! Definition at line 4280 of file kimageeffect.cpp. References blur(). |
|
Detects edges in an image using pixel neighborhoods and an edge detection mask.
Referenced by charcoal(). |
|
Implodes an image by a specified percent.
|
|
Produces an oil painting effect.
Referenced by oilPaint(). |
|
This is provided for binary compatability only! Use the above method instead! Definition at line 3635 of file kimageeffect.cpp. References oilPaintConvolve(). |
|
Sharpens the pixels in the image using pixel neighborhoods.
Referenced by sharpen(). |
|
This is provided for binary compatability only! Use the above method instead! Definition at line 4456 of file kimageeffect.cpp. References sharpen(). |
|
Randomly displaces pixels.
|
|
Shades the image using a distance light source.
References shade(). Referenced by shade(). |
|
Swirls the image by a specified amount.
|
|
Modifies the pixels along a sine wave.
|
|
A bumpmapping algorithm.
|
The documentation for this class was generated from the following files: