VintaSoft Imaging .NET SDK 12.4: Documentation for .NET developer
Vintasoft.Imaging Namespace / VintasoftImage Class / ClosePixelManipulator(Boolean) Method
Syntax Remarks Example Requirements SeeAlso
In This Topic
    ClosePixelManipulator(Boolean) Method (VintasoftImage)
    In This Topic
    Closes the previously opened PixelManipulator and generates the Changed event if necessary.
    Syntax
    'Declaration
    
    Public Sub ClosePixelManipulator( _
    ByVal imageChanged
    A value indicating whether the image is changed.
    As Boolean _
    )
    public void ClosePixelManipulator(
    bool imageChanged
    )
    public: void ClosePixelManipulator(
    bool imageChanged
    )
    public:
    void ClosePixelManipulator(
    bool imageChanged
    )

    Parameters

    imageChanged
    A value indicating whether the image is changed.
    Remarks

    This method generates the Changed event if imageChanged is true.

    Example

    This example illustrates 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");
        }
    
    }
    
    

    Requirements

    Target Platforms: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also