Hola bulc.
A ver si lo que buscas es algo como este ejemplo:
Código Delphi
[-]
...
type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
FImgArray: array of TImage;
procedure MergeImages();
public
end;
var
Form1: TForm1;
implementation
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
Randomize;
for i:= 0 to ComponentCount-1 do
if Components[i].ClassType = TImage then
begin
SetLength(FImgArray, Length(FImgArray)+1);
FImgArray[i] := TImage(Components[i]);
end;
end;
procedure TForm1.MergeImages();
var
i, a, b: Integer;
aux: TPoint;
begin
for i:= Low(FImgArray) to High(FImgArray) shr 1 do
begin
a:= Random(High(FImgArray)+1);
b:= Random(High(FImgArray)+1);
aux:= Point(FImgArray[a].Left, FImgArray[a].Top);
FImgArray[a].Left:= FImgArray[b].Left;
FImgArray[a].Top := FImgArray[b].Top;
FImgArray[b].Left:= aux.X;
FImgArray[b].Top := aux.Y;
end;
end;
procedure TForm1.btnMergeClick(Sender: TObject);
begin
MergeImages()
end;
...
Muestra:
Saludos