←Select platform

PaintLowBit Property

Summary
Gets or sets the image paint low bit value.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int PaintLowBit { get; set; } 
@property (nonatomic, assign) NSInteger paintLowBit 
public int getPaintLowBit(); 
public void setPaintLowBit( 
   int intValue 
); 
public: 
property int PaintLowBit { 
   int get(); 
   void set (    int ); 
} 
PaintLowBit # get and set (RasterImage) 

Property Value

Value indicating the low bit used for painting.

Remarks

The low bit value will be: 0 <= PaintLowBit <= PaintHighBit <= (11 for 12-bit grayscale or 15 for 16-bit grayscale). A value of -1 will be treated as 0.

This property along with PaintHighBit are used internally by LEADTOOLS when WindowLevel is called.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using Leadtools.Svg; 
 
 
public void WindowLevelExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
	// Load an image that has BottomLeft ViewPerspective 
	RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
	// Change the image to 16-bit grayscale  
	GrayscaleCommand grayscaleCmd = new GrayscaleCommand(16); 
	grayscaleCmd.Run(image); 
 
	MinMaxBitsCommand minMaxBitsCmd = new MinMaxBitsCommand(); 
	minMaxBitsCmd.Run(image); 
 
	MinMaxValuesCommand minMaxValuesCmd = new MinMaxValuesCommand(); 
	minMaxValuesCmd.Run(image); 
 
	int lowBit = minMaxBitsCmd.MinimumBit; 
	int highBit = minMaxBitsCmd.MaximumBit; 
 
	int size = (1 << (image.HighBit - image.LowBit + 1)); 
	RasterColor[] palette = new RasterColor[size]; 
 
	// fill the first half of the LUT with RED 
	for (int x = 0; x < size / 2; x++) 
	{ 
		palette[x].R = 255; 
		palette[x].G = 0; 
		palette[x].B = 0; 
		palette[x].Reserved = 0; 
	} 
 
	int minVal = minMaxValuesCmd.MinimumValue; 
	int maxVal = minMaxValuesCmd.MaximumValue; 
 
	// Fill the rest with gray values  
	for (int x = (size / 2); x < size; x++) 
	{ 
		palette[x].R = Convert.ToByte(Math.Min(255, ((x - minVal) * 255 / (maxVal - minVal)))); 
		palette[x].G = palette[x].R; 
		palette[x].B = palette[x].R; 
		palette[x].Reserved = 0; 
	} 
	image.WindowLevel(lowBit, highBit, palette, RasterWindowLevelMode.PaintAndProcessing); 
 
	codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_WindowLevel.BMP"), RasterImageFormat.Bmp, 0); 
 
	image.Dispose(); 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

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