The "Every Method" editing demo allows you to preview over 250 editing, analysis and effects methods.
All Test Results
◼  Analysis Methods
◼  Color Adjustment Methods
◼  Color Depth Methods
◼  Detection Methods
◼  Effects Methods
◼  Filter Methods
◼  Geometric Methods
◼  Painting and Alpha Methods
◼  Smoothing Methods
◼  Other Methods
 Test Images
ImageEnView1.IO.LoadFromFile( 'D:\ImageTest1.jpg' );
 
 
 CropSel
// Make circular selection of entire image and crop
ImageEnView1.SelectionBase := iesbBitmap;
ImageEnView1.SelectEllipse(ImageEnView1.IEBitmap.Width div 2,
                           ImageEnView1.IEBitmap.Height div 2,
                           ImageEnView1.IEBitmap.Width,
                           ImageEnView1.IEBitmap.Height);
ImageEnView1.Proc.CropSel();
 
 
 Crop
// Crop 25% of all sides of the image
ImageEnView1.Proc.Crop( ImageEnView1.IEBitmap.Width div 4,
                        ImageEnView1.IEBitmap.Height div 4,
                        MulDiv( ImageEnView1.IEBitmap.Width, 3, 4 ),
                        MulDiv( ImageEnView1.IEBitmap.Height, 3, 4 ));
 
 
// Crop 10% from top-left corner, and 30% from bottom-right corner and stretch
// by specifying 4 points (which will become the new corners)
x1 := MulDiv( ImageEnView1.IEBitmap.Width, 10, 100 );
y1 := MulDiv( ImageEnView1.IEBitmap.Height, 10, 100 );
x2 := ImageEnView1.IEBitmap.Width - MulDiv( ImageEnView1.IEBitmap.Width, 30, 100 );
y2 := ImageEnView1.IEBitmap.Height - MulDiv( ImageEnView1.IEBitmap.Height, 30, 100 );
ImageEnView1.Proc.Crop([ DPoint( x1, y1 ),                            // Top-Left corner
                         DPoint( ImageEnView1.IEBitmap.Width, 0 ),    // Top-right corner
                         DPoint( x2, y2 ),                            // Bottom-right corner
                         DPoint( 0, ImageEnView1.IEBitmap.Height )    // Bottom-Left corner
                         ]);
 
 
 Flip
// Flip the image horizontally
ImageEnView1.Proc.Flip( fdHorizontal );
 
 
 ImageResize
// Add a black border to the image
ImageEnView1.Proc.ImageResize( ImageEnView1.IEBitmap.Width + 20,
                               ImageEnView1.IEBitmap.Height + 20,
                               iehCenter, ievCenter,
                               255, clBlack );
 
 
 Resample
// Scale the image to half size
ImageEnView1.Proc.Resample( 0.5, rfLanczos3 );
 
 
 Rotate
// Rotate the image 90° counter-clockwise
ImageEnView1.Proc.Rotate( 90 );
 
 
 RotateAndCrop
// Rotate the image 15° counter-clockwise and crop to maintain only image area
ImageEnView1.Proc.RotateAndCrop( 15, ierBicubic, 0, iecaAngledPhoto );
 
 
 RoundImage
// Add round corners to the image
ImageEnView1.Proc.RoundImage( ImageEnView1.IEBitmap.Width div 10,
                              ImageEnView1.IEBitmap.Height div 10 );
 
 
 ShiftChannel
// Shift to -5 horizontally and -2 vertically in the Blue channel, filling new areas with 0
ImageEnView1.Proc.ShiftChannel( -5, -2, iecBlue, 0 );
 
 
 PerspectiveDraw
// Perspective drawing image offset on left
yOffset := 0;
ImageEnView1.IEBitmap.Allocate( 300, 300, clBlack );
ImageEnView1.Proc.PerspectiveDraw( srcBMP,                                       // Source image
                                   0, yOffset,                                   // Top-left
                                   ImageEnView1.IEBitmap.Width - 1, 0,           // top-Right
                                   ImageEnView1.IEBitmap.Width - 1, ImageEnView1.IEBitmap.Height - 1, // Bottom-right
                                   0, ImageEnView1.IEBitmap.Height - yOffset,    // Bottom-left
                                   -1, -1, true);
 
 
 AutoCrop
// Load test image
ImageEnView1.IO.LoadFromFile( 'D:\TestImage.jpg' );
// Remove any black border from the image (with tolerance of 30)
ImageEnView1.Proc.AutoCrop( 30, clBlack );
 CropTransparentBorder
// Load test image
ImageEnView1.IO.LoadFromFile( 'D:\TestImage.jpg' );
// Remove any transparent area from the edge of the image
ImageEnView1.Proc.CropTransparentBorder();
 RadialStretch
// Minor correction of pin cushion effect in image
a := 0.045;
b := 0;
c := 0;
d := 1.0 - (a+b+c);
ImageEnView1.Proc.RadialStretch( a, b, c, d,
                                 a, b, c, d,
                                 a, b, c, d );
 thinPlateSplineShapeTransform (IEVision)
// Apply a Thin Plate Spline Shape Transformation to an image
srcPoints := IEVisionLib().createVectorPoint2f();
dstPoints := IEVisionLib().createVectorPoint2f();
// Create a four point selection of the middle third of the image
// TL
srcPoints.push_back( IEVisionPoint2f( 50, 50 ));
dstPoints.push_back( IEVisionPoint2f( 50, 50 ));
// TR
srcPoints.push_back( IEVisionPoint2f( 250, 50 ));
dstPoints.push_back( IEVisionPoint2f( 250, 50 ));
// BR
srcPoints.push_back( IEVisionPoint2f( 50, 250 ));
dstPoints.push_back( IEVisionPoint2f( 50, 250 ));
// BL
srcPoints.push_back( IEVisionPoint2f( 250, 250 ));
dstPoints.push_back( IEVisionPoint2f( 300, 300 ));    // Offset bottom right to edge
im := SourceIEViewer.IEBitmap.GetIEVisionImage().thinPlateSplineShapeTransform( srcPoints, dstPoints );
DestIEViewer.IEBitmap.AssignIEVisionImage( im );
 
 
 Warp
// Push the center of the image to the right
ImageEnView1.Proc.Warp( Point( 150, 150 ), 25, 0, 50 );
 
 