VintaSoft Imaging .NET SDK v8.7
Vintasoft.Imaging Namespace / PixelManipulator Class
Members Example



In This Topic
    PixelManipulator Class
    In This Topic
    Provides access to pixels of the VintasoftImage object.
    Object Model
    PixelManipulator ClassVintasoftImage Class
    Syntax
    'Declaration
     
    Public NotInheritable Class PixelManipulator 
    public sealed class PixelManipulator 
    public __gc __sealed class PixelManipulator 
    public ref class PixelManipulator sealed 
    Remarks
    All method parameters defining the image coordinates must be specified in the coordinates of the locked region. For example, the coordinate (1; 0) must be used for getting information about pixel data with coordinates (11; 20) if image is locked from the point (10; 20).
    Example
    This example shows how to read scan line from an image, change blue color component value, and save changes.
    Class PixelManipulatorExample
    	Public Sub RunExample()
    		' load an 24-bpp RGB image from disk
    		' [ do not forget to set your image file path here! ]
    		Dim image As New Vintasoft.Imaging.VintasoftImage("c:\original-image.tif")
                
    		' get the PixelManipulator object
    		Dim pixelManipulator As Vintasoft.Imaging.PixelManipulator = image.OpenPixelManipulator()
    		' set the lock area to full image size
    		Dim lockRectangle As New System.Drawing.Rectangle(0, 0, image.Width, image.Height)
    		' lock pixels for read and write
    		pixelManipulator.LockPixels(lockRectangle, Vintasoft.Imaging.BitmapLockMode.ReadWrite)
    		' remebmer the stride for performance purposes
    		Dim stride As Integer = pixelManipulator.Stride
                
    		' process image
    		For y As Integer = 0 To image.Height - 1
    			' read the next scan line
    			Dim row As Byte() = pixelManipulator.ReadRowData(y)
    			For i As Integer = 0 To stride - 1 Step 3
    				' set every blue color component value to zero
    				row(i) = 0
    			Next
    			' write the modified scan line
    			pixelManipulator.WriteRowData(y, row)
    		Next
                
    		' unlock pixels
    		pixelManipulator.UnlockPixels()
    		' close PixelManipulator and generate the Vintasoft.Imaging.VintasoftImage.Changed event
    		image.ClosePixelManipulator(True)
                
    		' save the processed image to the new file
    		image.Save("c:\processed-image.tif")
    	End Sub
                
    End Class
    class PixelManipulatorExample
    {
        public void RunExample()
        {
            // load an 24-bpp RGB image from disk
            // [ do not forget to set your image file path here! ]
            Vintasoft.Imaging.VintasoftImage image = 
                new Vintasoft.Imaging.VintasoftImage(@"c:\original-image.tif");
                
            // get the PixelManipulator object
            Vintasoft.Imaging.PixelManipulator pixelManipulator = image.OpenPixelManipulator();
            // set the lock area to full image size
            System.Drawing.Rectangle lockRectangle = 
                new System.Drawing.Rectangle(0, 0, image.Width, image.Height);
            // lock pixels for read and write
            pixelManipulator.LockPixels(lockRectangle, Vintasoft.Imaging.BitmapLockMode.ReadWrite);
            // remebmer the stride for performance purposes
            int stride = pixelManipulator.Stride;
                
            // process image
            for (int y = 0; y < image.Height; y++)
            {
                // read the next scan line
                byte[] row = pixelManipulator.ReadRowData(y);
                for (int i = 0; i < stride; i += 3)
                {
                    // set every blue color component value to zero
                    row[i] = 0;
                }
                // write the modified scan line
                pixelManipulator.WriteRowData(y, row);
            }
                
            // unlock pixels
            pixelManipulator.UnlockPixels();
            // close PixelManipulator and generate the Vintasoft.Imaging.VintasoftImage.Changed event
            image.ClosePixelManipulator(true);
                
            // save the processed image to the new file
            image.Save(@"c:\processed-image.tif");
        }
                
    }
    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.PixelManipulator

    Requirements

    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also