Applying Artistic Effects

The following functions are designed specifically for artistic effects:

Function Purpose
LBitmap::AddNoise Adds random pixels to a bitmap, letting you specify the percentage of coverage and the color plane.
LBitmap::AddShadow Adds shadows to a bitmap, letting you specify the threshold value, the direction of the light source, and whether the shadows are colored or grayscale.
LBitmap::Aging Adds effects that simulate random color changes, scratches, dust and pits, making a bitmap look like it was made from an old film.
LBitmap::Bending Wraps the bitmap along the inside or outside of an arc pattern.
LBitmap::BricksTexture Creates a brick texture that makes the image look like it has been drawn on a brick wall.
LBitmap::BumpMap Adds a three-dimensional texture pattern by applying the bump image to the destination image.
LBitmap::Canvas Applies an image as an overlay for another image.
LBitmap::Clouds Generates different cloud patterns.
LBitmap::ColoredBalls Adds colored balls to the bitmap. Various parameters control the color and appearance of the balls.
LBitmap::ColoredPencil Applies a colored pencil effect to a bitmap. Brightens the bitmap and enhances its edges.
LBitmap::ColoredPencilExt Applies a colored pencil effect to a bitmap. Brightens the bitmap and enhances its edges.
LBitmap::Cubism Remaps the bitmap into a collection of rotated rectangles (cubic faces), in the Cubist style.
LBitmap::Cylindrical Warps the bitmap to a cylindrical shape.
LBitmap::DiceEffect Splits the image into square or rectangular blocks. If the blocks are square, rotates each block by 0, 90, 180, or 270 degrees. If the blocks are rectangular, flips the blocks around the X-axis and Y-axis.
LBitmap::DiffuseGlow Adds a colored glow to a bitmap's light or dark areas, making these areas shine with a neon glow.
LBitmap::DisplaceMap Displaces bitmap pixels horizontally and vertically according to the values of the displacement map image.
LBitmap::DrawStar Draws a star on the bitmap.
LBitmap::Dry Simulates painting an image with the watercolor dry brush technique.
LBitmap::Emboss Applies an emboss effect to a bitmap, letting you specify the depth and direction of the effect.
LBitmap::Fragment Averages a bitmap with its shifted copies.
LBitmap::FreeHandShear Shears the bitmap by the wave drawn using amplitude values obtained from LBitmap::GetCurvePoints.
LBitmap::FreeHandWave Distorts the bitmap by the wave drawn using amplitude values obtained from LBitmap::GetCurvePoints and a specified angle.
LBitmap::FreePlaneBend Wraps the bitmap onto a 3D plane shaped by pnCurve.
LBitmap::FreeRadBend Wraps the bitmap along its radius on a 3D surface shaped by pnCurve.
LBitmap::FunctionalLight Adds light to the bitmap according to a function-based distribution. This functional light will be generated by one of the following methods: linear, quadratic, sine, cosine, or using freehand points.
LBitmap::HalfTonePattern Creates a halftone screen effect for an image while keeping its continuous range of tones.
LBitmap::GlassEffect Divides the image into cells and makes it look as if it is being viewed through glass blocks.
LBitmap::GlowFilter Makes colored edges shine with a neon-like glow.
LBitmap::Impressionist Makes a bitmap look like it was painted by an impressionist painter.
LBitmap::LensFlare Simulates the secondary reflections caused when bright lights are facing the camera lens.
LBitmap::LightControl Lightens or darkens all or part of a bitmap by remapping the pixel values.
LBitmap::Light Adds many spots of directed light sources to the bitmap.
LBitmap::MaskConvolution Multiplies the pixels of an image by a kernel, resulting in one of several 3D edge effects being applied to the image.
LBitmap::Mosaic Imposes a mosaic effect on a bitmap by dividing the bitmap into tiles of a specified size and changing the color of all pixels in each tile to the average color of pixels within the tile.
LBitmap::MosaicTiles Divides an image into rectangular or arc-shaped cells with irregular boundaries. This function makes an image look like a mosaic made from tiles. Tiles can be rectangular or arc-shaped, depending upon the coordinate system used to draw the tiles.
LBitmap::MotionBlur Applies a filter, which creates the illusion of movement in an image.
LBitmap::Ocean Reflects the bitmap on an ocean surface.
LBitmap::Oilify Applies an oil-painting effect to a bitmap.
LBitmap::Offset Shifts the bitmap pixels horizontally and vertically.
LBitmap::Perspective Gives a bitmap a 3-D depth, as if it exists on a flat plane and has been skewed into a different shape.
LBitmap::PlasmaFilter Applies color patterns that blend into each other like plasma.
LBitmap::Pointillist Pointillism is a painting technique where the image is composed of tiny, separate dots of primary color. Non primary colors are created by placing primary colors beside each other and allowing the "mixing" to be performed when the image is viewed. This filter creates a similar effect.
LBitmap::Perlin Uses a pseudo-random number generator in order to create a Perlin noise, and then procedurally transforms that noise into a texture.
LBitmap::Pixelate Divides the bitmap into rectangular or circular cells and then recreates the image using those cells filled with the minimum, maximum, or average pixel value, depending upon the effect that was set.
LBitmap::PlaneBend Places the bitmap on parallel planes along the Z-axis bent towards a center point.
LBitmap::Plane Places the bitmap on parallel planes along the Z-axis.
LBitmap::Polar Converts the bitmap from rectangular to polar coordinates and vice versa.
LBitmap::Posterize Imposes a poster effect on a bitmap by quantizing the bitmap's colors to a specified number of color levels per plane. For example, two levels means two of red, two of green, and two of blue.
LBitmap::Punch Warps the bitmap by pinching it toward the center or expanding the bitmap away from its center.
LBitmap::PuzzleEffect Splits the image into square blocks and randomizes these blocks inside the image.
LBitmap::RadialBlur Rotates the bitmap pixels around a center point.
LBitmap::RadWave Distorts a bitmap using a wave radiating from the specified center.
LBitmap::RemapHue Changes a bitmap's hue values using a lookup table.
LBitmap::RemoveRedEye Replaces the red component of the pixels with the specified color. To replace only the red component for those pixels in the eyes of the bitmap, select a small region around the eye(s).
LBitmap::RevEffect Adds a pseudo-3D wave effect to the bitmap by drawing horizontal lines across the bitmap and basing each lines height at each point on its brightness at that point.
LBitmap::RingEffect Divides the image into a certain number of rings. Each ring is rotated according to a rotate angle. The rotate angle for each ring will be chosen randomly by the function or can be passed to the function.
LBitmap::Ripple Warps the image in concentric rings.
LBitmap::RomanMosaic Divides the bitmap into rectangular or rounded rectangular cells and then fills each cell with a color chosen randomly from the colors of each tiles pixels.
LBitmap::SampleTarget Corrects color values by shifting the sample colors to the target colors.
LBitmap::Segment Divides the bitmap into segments where each segments pixels have approximately the same color (homogenous color).
LBitmap::SmoothEdges Smooths the rough edges in the bitmap.
LBitmap::Solarize Applies an effect that mimics the accidental exposure of photographic film to light.
LBitmap::Spherize Warps the image around a 3D spherical shape.
LBitmap::Swirl Produces a swirl pattern by rotating the bitmap the specified number of degrees about the specified point.
LBitmap::TextureAlphaBlend Combines image data from pBitmapMask and pBitmapUnderlay with an underlay effect. The result is used as a fade mask that will be used to combine pBitmapSrc and pBitmapDst with variable opacity. The result is combined again with pBitmapDst using a constant opacity (using nOpacity).
LBitmap::Tunnel Places the bitmap inside a tunnel along the Z-axis.
LBitmap::Vignette Draws a specified shape and feathers it to the bitmap.
LBitmap::Wave Distorts the bitmap with two perpendicular waves at the specified angle and with the specified wave type.
LBitmap::Wind Creates thin lines, directed along the specified angle, on the specified bitmap.
LBitmap::ZoomBlur Blurs the bitmap along radial lines starting from the specified center point.
LBitmap::ZoomWave Distorts the bitmap with a wave zoomed from the specified center.
LBitmapBase::Underlay Combines two bitmaps so that one appears to be an underlying texture for the other.
LBitmap::ZigZag Radially distorts the bitmap by creating waves that twist the image around a specified center.

With any of these functions, except LBitmapBase::Underlay, you can limit the effect to a specified region of interest. For information about regions, refer to Defining and Using a Bitmap Region.

Treating the bitmap as a device context opens up many possibilities for artistic effects. The LBitmapBase::CreateLeadDC function lets you get the device context. You can then use the LEADTOOLS special effects functions to combine images in interesting ways. For example, when painting one image on top of another, you could specify a multi-pass paint with a brush effect; then quit before finishing all of the passes. The result would be a blending of the two images. For details, refer to Implementing Special Effects.

Help Version 22.0.2023.2.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help