typedef struct _PLASMAINFO
{
L_UINT uStructSize;
L_UINT uRedFreq;
L_UINT uGreenFreq;
L_UINT uBlueFreq;
L_UINT uOpacity;
L_UINT uShift;
L_UINT uSize;
L_UINT uFlags;
} PLASMAINFO, * pPLASMAINFO;
The PLASMAINFO structure provides information about the color to be used in the LBitmap::PlasmaFilter function.
Member | Description | |
uStructSize | Size of this structure, in bytes. Use the sizeof operator to calculate this value. | |
uRedFreq | Value that indicates which frequencies of red color should be used to create plasma patterns. Valid range for the 16, 48, and 64-bit bitmaps is from 0 to 65535 and for 12-bit bitmaps from 0 to 4095. Otherwise, it is from 0 to 255. Use 0 to turn off processing for the red frequencies. | |
uGreenFreq | Value that indicates which frequencies of green color should be used to create plasma patterns. Valid range for the 16, 48, and 64-bit bitmaps is from 0 to 65535 and for 12-bit bitmaps from 0 to 4095. Otherwise, it is from 0 to 255. Use 0 to turn off processing for the green frequencies. | |
uBlueFreq | Value that indicates which frequencies of blue color should be used to create plasma patterns. Valid range for the 16, 48, and 64-bit bitmaps is from 0 to 65535 and for 12-bit bitmaps from 0 to 4095. Otherwise, it is from 0 to 255. Use 0 to turn off processing for the blue frequencies. | |
uOpacity | A percentage value that indicates the amount of blending between the plasma color patterns and the original image. Possible values range from 0 to 100. Use 0 when not using an image, and 100 when not using the plasma values. | |
uShift | The amount of color shift in the plasma color pattern. Valid range for the 16, 48, and 64-bit bitmaps is from 0 to 65535 and for 12-bit bitmaps from 0 to 4095. Otherwise, it is from 0 to 255. A value of 0 means there is no color shift. | |
uSize | Value greater than 0 that represents the plasma size. (The value is divided internally by 100). The value, after it has been divided by 100, represents the size in pixels. | |
uFlags |
Flags that indicate which type of plasma effect to create, and which color pattern to use. You can use a bitwise OR (|) to specify one flag from each group.
The following flags indicate which type of plasma effect to create: |
|
Value | Meaning | |
PLSTYP_VERTICAL | [0x0000] Create vertical lines of plasma. | |
PLSTYP_HORIZONTAL | [0x0001] Create horizontal lines of plasma. | |
PLSTYP_DIAGONAL | [0x0002] Create diagonal lines of plasma. | |
PLSTYP_CROSS | [0x0003] Create crossed lines of plasma. | |
PLSTYP_CIRCULAR | [0x0004] Create circles of plasma. | |
PLSTYP_RANDOM1 | [0x0005] Create randomly shaped plasma. | |
PLSTYP_RANDOM2 | [0x0006] Create a different type of randomly shaped plasma | |
The following flags indicate which color pattern to use: | ||
Value | Meaning | |
PLSCLR_HUE | [0x0000] Use the first predefined color pattern | |
PLSCLR_RGB1 | [0x0010] Use the second predefined color pattern. | |
PLSCLR_RGB2 | [0x0020] Use the third predefined color pattern. | |
PLSCLR_CUST | [0x0030] Use the frequency members (uRedFreq, uGreenFreq, uBlueFreq) of the PLASMAINFO structure to generate user-defined plasma colors. |
The uOpacity value will always be considered to be 0, unless specified otherwise by a value between (and including) 0 to 100.
Use the uRedFreq, uGreenFreq, and uBlueFreq members of the PLASMAINFO structure to create a custom color pattern. To use them, pass the PLSCLR_CUST flag to LBitmap::PlasmaFilter. Otherwise, their values will be ignored.
The PLSCLR_HUE value is a predefined color pattern that is based on the HLS color space. It creates plasma patterns by changing hue values.
The PLSCLR_RGB1 value is a predefined color pattern that is based on the RGB color space. Different combinations of red, green and blue frequencies produce different results.
Like the PLSCLR_RGB1 value, the PLSCLR_RGB2 value is based on the RGB color space, but uses a different combination of red, green and blue frequencies.
The color palette used for uShift is a continuous cylindrical color palette. In the following figures, one shows where on the palette a value of 0 lies, and the other one shows where on the palette the maximum value lies:
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET