Hola
Le cuento que su ejemplo me a resultado muy útil, creo que ya lo tengo hecho, aunque no sé, siempre pienso que lo hago de mal forma y por eso pegaré aquí el código a ver que opinan los maestros y así aprender de ustedes, esto es para unir imágenes como lo había explicado en los anteriores post, a ver si a más de uno le sirve:
Código Delphi
[-]procedure TForm1.Button3Click(Sender: TObject);
var
x, y, i, j : Integer;
anchoImg, altoImg : Integer;
izq, arr, der, aba : Integer;
ARect : TRect;
imagen : TImage;
str, nameImg, path : String;
begin
anchoImg := 50;
altoImg := 50;
izq := 0;
arr := 0;
der := anchoImg;
aba := altoImg;
x := 2;
y := 2;
Memo1.Lines.Add('Creamos el Timage de: ' + IntToStr(anchoImg * x) + 'px * ' + IntToStr(altoImg * y) + 'px');
map.Height := (anchoImg * x);
map.Width := (altoImg * y);
for i := 0 to x - 1 do
begin
for j := 0 to y - 1 do
begin
imagen := TImage.Create(nil);
imagen.Width := anchoImg;
imagen.Height := altoImg;
nameImg := IntToStr(i) + IntToStr(j) + '.bmp';
str := 'Copiando ' + nameImg + ' Izq: ' + IntToStr(izq) + ' arr: ' + IntToStr(arr) +
' der: ' + IntToStr(der) + ' aba: ' + IntToStr(aba);
Memo1.Lines.Add(str);
imagen.Picture.LoadFromFile(nameImg);
ARect.Left := izq;
ARect.Top := arr;
ARect.Right := der;
ARect.Bottom := aba;
map.Canvas.CopyRect(ARect, imagen.Canvas, imagen.ClientRect);
arr := arr + AnchoImg;
aba := aba + altoImg;
imagen.Free;
end;
arr := 0;
aba := altoImg;
izq := izq + anchoImg;
der := der + anchoImg;
Memo1.Lines.Add(' ================ ');
end;
path := ChangeFileExt(Application.ExeName, '.bmp');
map.Picture.SaveToFile(path);
MessageDlg('Se ha guardado la imagen con el nombre: ' + path, mtInformation, [mbOK], 0);
Ahora quisiera saber cómo hacer lo mismo pero con imágenes jpg.. y luego guardarlo con el formato que yo quiera.
para que funcione se necesitan 4 imágenes de 50 x 50 llamadas, 00.bmp, 01, 10, 11.bmp. así pegará primero 00, luego abajo el 01, luego arriba a la derecha el 10, y abajo el 11, igual servirá para más de 4 imágenes, solo hay que modificar los valores de x , y
¿Qué les parece?
¿Cómo podría mejorarla?
Saludos!