ImageEn, unit imageenview |
|
TImageEnView.LayersRepositionAll
Declaration
procedure LayersRepositionAll(MoveX, MoveY: Integer; SelectedOnly: Boolean = False; Sizing: Boolean = False; MaintainRelativePos: Boolean = False);
Description
Updates
PosX and
PosY of all layers (or just selected if
SelectedOnly = True) to move them to a new position. If Sizing is true then Layer is resized (top-left position does not move).
These constants are also for
MoveX:
Constant | Description |
IELayer_Pos_Left | Adjust PosX so layer is aligned to the left of the background layer |
IELayer_Pos_HCenter | Adjust PosX so layer is aligned to the horizontal center of the background layer |
IELayer_Pos_Right | Adjust PosX so layer is aligned to the right of the background layer |
These constants are also
MoveY:
Constant | Description |
IELayer_Pos_Top | Adjust PosY so layer is aligned to the top of the background layer |
IELayer_Pos_VCenter | Adjust PosY so layer is aligned to the vertical center of the background layer |
IELayer_Pos_Bottom | Adjust PosY so layer is aligned to the bottom of the background layer |
When using constants,
MaintainRelativePos determines whether layers are moved relative to each other, when false (default), the relative position of layers will change (e.g. layers that were not overlapping before, may overlap after). Setting to true will maintain their relative positions.
Note:
◼Do not use the IELayer_Pos_* constants when sizing
◼Use
LayersSizeAll to resize layers by percentage
// Move all layers 50 pixels up and left
ImageEnView1.LayersRepositionAll( -50, -50 );
// Move selected layers 100 pixels down
ImageEnView1.LayersRepositionAll( 0, 100, true );
// Enlarge all layers vertically and horizontally by 10 pixels
ImageEnView.LayersRepositionAll( 10, 10, False, True );
// Center all layers in the middle of the image
ImageEnView1.LayersRepositionAll( IELayer_Pos_HCenter, IELayer_Pos_VCenter );
// Center all layers in the middle of the image, but maintain the position of the layers relative to each other (i.e. prevent layer overlapping)
ImageEnView1.LayersRepositionAll( IELayer_Pos_HCenter, IELayer_Pos_VCenter, False, False, True );
// Zoom so layers fill entire view area
// Make IEView consider all layers when calculating image bounds
ImageEnView1.LayerOptions := ImageEnView1.LayerOptions + [loDynamicCanvas];
// Position layers so origin is 0,0
rect := ImageEnView1.LayersRect(False, True);
ImageEnView1.LayersRepositionAll(-rect.X, - rect.Y);
// Adjust zoom so all layers fill the view area
ImageEnView1.Fit();
See Also
◼LayersRotateAll
◼LayersSizeAll
◼LayersAlign