ImageEn

Preview of Other Methods


The "Every Method" editing demo allows you to preview over 250 editing, analysis and effects methods.

Image Editing Methods
 Analysis Methods
 Color Adjustment Methods
 Color Depth Methods
 Detection Methods
 Effects Methods
 Filter Methods
 Geometric Methods
 Painting and Alpha Methods
 Smoothing Methods
 Other Methods
 Interactive Tools

 Test Images

ImageEnView1.IO.LoadFromFile( 'D:\ImageTest1.jpg' );

  


 CreateTransitionBitmap

// Random transition from fully black to an image
bmpOut := TIEBitmap.Create( 'D:\TestImage.jpg' );
bmpIn := TIEBitmap.Create( bmpOut.Width, bmpOut.Height, clBlack );

// Prepare transition
trans := TIETransitionType( 1 + Random( ord( High( TIETransitionType )) - 2 ));
ImageEnView1.Proc.PrepareTransitionBitmaps( bmpIn, bmpOut, trans );

// Get transition image
ImageEnView1.Proc.CreateTransitionBitmap( percentage, ImageEnView1.IEBitmap );

  

  

  


 AdvancedDrawLine

// Draw a line pointer with a label
ImageEnView1.IEBitmap.IECanvas.Font.Name  := 'Tahoma';
ImageEnView1.IEBitmap.IECanvas.Font.Size  := 8;
ImageEnView1.IEBitmap.IECanvas.Font.Style := [fsBold];
ImageEnView1.IEBitmap.IECanvas.Font.Color := clBlack;
ImageEnView1.IEBitmap.IECanvas.AdvancedDrawLine( 140, 30, 240, 100,
                                                 clBlack, 2,
                                                 ieesArrow, ieesNone,
                                                 20, clRed,
                                                 ielpAtEnd, 'Label',
                                                 nil, True,
                                                 iesRectangle, clRed, clYellow,
                                                 gpgVertical );
ImageEnView1.Update();

  


 AdvancedDrawShape

// Draw a shape to the current the image
ImageEnView1.IEBitmap.IECanvas.AdvancedDrawShape( 50, 50, 150, 150,
                                                  iesHeart, 0, 0,                    // Shape Props
                                                  clBlack, 2, 1.0,                   // Border Props
                                                  clYellow, clRed, gpgVertical, 1.0, // Fill Props
                                                  True );
ImageEnView1.Update();

  


 AdvancedDrawText

ImageEnView1.IEBitmap.IECanvas.Font.Name  := 'Tahoma';
ImageEnView1.IEBitmap.IECanvas.Font.Size  := 14;
ImageEnView1.IEBitmap.IECanvas.Font.Style := [fsBold];
ImageEnView1.IEBitmap.IECanvas.AdvancedDrawText( 100, 100, 250, 100,
                                                 'EXPLOSION!', nil,
                                                 0, iejCenter, ielCenter,
                                                 iesExplosion, 1, clBlack,
                                                 clRed, clYellow, gpgVertCenter );
ImageEnView1.Update();

  


 createStitcher

// Stitch images together to create a panorama
var
  images: TIEVisionVectorImageRef;
  pano: TIEVisionImage;
  status: TIEVisionStitchingStatus;
begin
  images := IEVisionLib.createVectorImageRef();
  images.push_back(IEVisionLib.createImage('image1.jpg'));
  images.push_back(IEVisionLib.createImage('image2.jpg'));
  images.push_back(IEVisionLib.createImage('image3.jpg'));

  pano := IEVisionLib.createStitcher().stitch(images, status);

  if status = ievSSOK then
    ImageEnView1.IEBitmap.AssignIEVisionImage(pano);
end;



 Encrypt

// Encrypt the image
ImageEnView1.Proc.Encrypt( 'MyPassword', ieeaTEA2 );

  


 MakeTile

// Repeat the image 3 times horizontally and vertically
ImageEnView1.Proc.MakeTile( 3, 3 );




 Merge

// Merge image with a horizontally flipped version of itself
bmp.Assign( ienOriginal.IEBitmap );
bmp.Flip( fdHorizontal );
ImageEnView1.Proc.Merge( bmp, 50 );

  


 ProjectDraw

// Project Draw image at 200, 200 (center), inside a box of 150x150, depth 400, rotating by 30° on Y axis, with specular effect
ImageEnView1.IEBitmap.Allocate( 600, 600, clBlack );
ImageEnView1.Proc.ProjectDraw( bmp,        // Source
                               300, 160,   // Dest pos (Center)
                               300, 300,   // Dest size
                               400,        // Depth
                               0, 0,       // Translation (offset)
                               0, 30       // Rotation
                               0, 100 );   // Alpha Min/Max




 RemoveRedEyes

// Load test image
ImageEnView1.IO.LoadFromFile( 'D:\TestImage.jpg' );



// Remove "Red-Eyes" within image (should only be applied to a selection)
ImageEnView1.Proc.RemoveRedEyes();




 TextOut

// Draw text over the image
ImageEnView1.Proc.TextOut( Align_Text_Horz_Center, Align_Text_Near_Top, 'Wedding', 'Arial', 32, clYellow, [fsBold] );

  


 DrawText

// Draw gradient text over the image
ImageEnView1.IEBitmap.IECanvas.Font.Height := 54;
ImageEnView1.IEBitmap.IECanvas.Font.Style  := [fsBold];
ImageEnView1.IEBitmap.IECanvas.Font.Color  := clRed;
ImageEnView1.IEBitmap.IECanvas.TextStyling.FillGradient := gpgVertical;
ImageEnView1.IEBitmap.IECanvas.TextStyling.FillColor2   := clYellow;
ImageEnView1.IEBitmap.IECanvas.TextStyling.BorderColor  := clWhite;
ImageEnView1.IEBitmap.IECanvas.TextStyling.BorderWidth  := 6;
tw := ImageEnView1.IEBitmap.IECanvas.TextWidth( 'Wedding' );
ImageEnView1.IEBitmap.IECanvas.DrawText( 'Wedding', ( ImageEnView1.IEBitmap.Width - tw ) div 2, 0 );
ImageEnView1.Update();

  



See Also

 Analysis Methods
 Color Adjustment Methods
 Color Depth Methods
 Detection Methods
 Effects Methods
 Filter Methods
 Geometric Methods
 Painting and Alpha Methods
 Smoothing Methods
 Other Methods
 Interactive Tools