Ver Mensaje Individual
  #10  
Antiguo 02-03-2009
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Reputación: 18
BlackDaemon Va por buen camino
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!
Responder Con Cita