LBitmap::Aging

Summary

Adds effects that simulate random color changes, scratches, dust and pits, making a bitmap look like it was made from an old film.

Syntax

#include "ltwrappr.h"

virtual L_INT LBitmap::Aging (uHScratchCount, uVScratchCount, uMaxScratchLen, uDustDensity, uPitsDensity, uMaxPitSize, crScratch, crDust, crPits, uFlags)

Parameters

L_UINT uHScratchCount

Number of horizontal scratch lines.

L_UINT uVScratchCount

Number of vertical scratch lines.

L_UINT uMaxScratchLen

Maximum scratch line length, in pixels. Its minimum value is 2.

L_UINT uDustDensity

Dust density, expressed in tenths of percent of the bitmap area. Valid values range between 0 and 1000. This value is divided internally by 10. If uDustDen = 1000 then dust density = 100% (that is, the number of dust points = the entire bitmap area.)

L_UINT uPitsDensity

Density of the pits, expressed in tenths of percent of the bitmap area. Valid values range between 0 and 1000. This value is divided internally by 10. If uPitsDen = 1000 then the density of the pits = 100% (that is, the number of pits = the entire bitmap area.)

L_UINT uMaxPitSize

Maximum pit size, in pixels. The size of the pits will be selected at random between 1 and uMaxPitSize.

COLORREF crScratch

A COLORREF value representing the color of the scratch lines.

COLORREF crDust

A COLORREF value representing the color of the dust.

COLORREF crPits

A COLORREF value representing the color of the pits.

L_UINT uFlags

Flags that indicate the distortion type and the distortion color. You can use a bitwise OR ( | ) to specify one or more flags from each group.

The following flags indicate the distortion type:

Value Meaning
AGING_ADD_NOTHING [0x0000] Do not add any distortion type. In this case, the bitmap will be changed by random changes in the color intensity.
AGING_ADD_VSCRATCH [0x0001] Add vertical scratch lines.
AGING_ADD_HSCRATCH [0x0002] Add horizontal scratch lines.
AGING_ADD_DUST [0x0004] Add dust.
AGING_ADD_PITS [0x0008] Add pits.

The following flags indicate the distortion color:

Value Meaning
AGING_SCRATCH_INV [0x0000] Use pixels color inverse as scratch line color. If this flag is set, crScratch will be ignored.
AGING_SCRATCH_CLR [0x0010] Use the crScratch as scratch line color.
AGING_DUST_INV [0x0000] Use pixels color inverse as dust color. If this flag is set, crDust will be ignored.
AGING_DUST_CLR [0x0020] Use the crDust as dust color.
AGING_PITS_INV [0x0000] Use pixels color inverse as the color of the pits. If this flag is set, crPits will be ignored.
AGING_PITS_CLR [0x0040] Use the crPits as the color of the pits.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

To update a status bar or detect a user interrupt during execution of this function, refer to LBase::EnableStatusCallback.

This function supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.

The width of the scratches is 1 pixel. The length of the scratches is random (between 2 and uMaxScratchLen).

The size of dust particles is 1 pixel (1x1).

The size and shape of pits is selected at random. The pit shapes are random and will be between 1x1 and uMaxPitSize x uMaxPitSize.

The function will also make random changes to the pixels intensities.

This function does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this function.

This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.

Aging Function - Before

Aging Function - Before

Aging Function - After

Aging Function - After

View additional platform support for this Aging function.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

L_INT LBitmap__AgingExample(LBitmap *pLeadBitmap)  
{ 
 
 
   /* This example applies aging effect */ 
   /* apply aging effect */ 
   return pLeadBitmap->Aging (10, 2, 50,2,5,6, RGB(255,255,0), RGB(0,0,0), RGB(0,0,255), AGING_ADD_VSCRATCH | AGING_ADD_PITS | AGING_SCRATCH_INV | AGING_PITS_CLR);  
 
} 
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
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.