Properties of all current layers (position, size, etc, but not the layer bitmaps)
ieuFullLayer
Same as ieuLayer but also saves the layer bitmaps
ieuObjectsAndLayers
Saves complete state: Properties and bitmaps of all layers (TImageEnView) or objects (TImageEnVect)
Note: ◼You do not need to manually call SaveUndo if you have enabled AutoUndo ◼ieuLayer and ieuFullLayer do not restore removed layers, or redact added layers. Use ieuObjectsAndLayers instead ◼For TImageEnVect, ieuObject and ieuObjectsAndLayers are the same, except that ieuObjectsAndLayers also saves the background image
// Allow undo of Negative ImageEnView1.Proc.SaveUndo(); ImageEnView1.Proc.Negative();
// Allow undo of a combined Negative and Contrast operation ImageEnView1.Proc.SaveUndo( 'Negative and contrast' ); ImageEnView1.Proc.Negative(); ImageEnView1.Proc.Contrast( 5 );
// Save undo before removing a layer (TImageEnView) ImageEnView1.Proc.SaveUndo( 'Delete Layer', ieuObjectsAndLayers ); ImageEnView1.LayersRemove( ImageEnView1.LayersCurrent );
// Save undo before removing an object (TImageEnVect) ImageEnVect1.Proc.SaveUndo( 'Delete Object', ieuObject ); // or ieuObjectsAndLayers ImageEnVect1.RemoveObject( IEV_ALL_SELECTED_OBJECTS );
// Save undo before shifting all layers ImageEnView1.Proc.SaveUndo( 'Move all Layers', ieuLayer ); ImageEnView1.LayersRepositionAll( -50, -50 );
// Save undo before flipping all image layers ImageEnView1.Proc.SaveUndo( 'Flip All Layers', ieuFullLayers ); ImageEnView1.LockUpdate(); for I := 0 to ImageEnView1.LayersCount - 1 do if ImageEnView1.Layers[ I ] is TIEImageLayer then ImageEnView1.Layers[ I ].Bitmap.Flip( fdHorizontal ); ImageEnView1.UnlockUpdate();
// Save undo before adding a new layer // Note: Use ieuObjectsAndLayers, not ieuLayer or ieuFullLayers (which only support existing layers) ImageEnView1.Proc.SaveUndo('Add Image Layer' + IntToStr(ImageEnView1.LayersCount-1), ieuObjectsAndLayers); ImageEnView1.LayersAppend( ielkImage );
// Allow undo of an operation upon the bitmap canvas ImageEnView1.Proc.SaveUndo( 'Draw Rectangle', ieuImage ); ImageEnView1.IEBitmap.Canvas.Pen.Color := clRed; ImageEnView1.IEBitmap.Canvas.Rectangle( X1, Y1, X2, Y2 ); ImageEnView1.Update();