ImageEn, unit ieDocum

Preview of Other Methods


The "Every Method" editing demo allows you to preview 300 editing, analysis and effects methods, and generate sample code.

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
◼Selection 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 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 (IEVision)

// 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 );

  

GenerateMap

// Generate a map of London
ImageEnView1.IEBitmap.GenerateMap( 400, 400, 51.50361, -0.12775, 9, iesmpOpenStreetMap, True, 40, clRed );

IEGenerateSampleImage

// Generate a sample ie8p format image
bmp := IEGenerateSampleImage( ie8p, 600, 400 );
ImageEnView1.Assign( bmp );
bmp.Free();

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

// 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();

  

FillWithShape

// Create a shaped image by drawing an ImageEn shape to the alpha channel
ImageEnView1.IEBitmap.FillWithShape( iesHeart, -1, -1, clNone, 0, -2 { Keep Content } );

  

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
◼Selection Methods
◼Interactive Tools