Hola gente me gustaria saver como puedo unir varios gif animados uno al lado de otro ! estuve buscando y no encuentro nada hasta ahora jeje lo unico que llegue a hacer es esto
Código Delphi
[-]unit Unit1;
interface
uses
JPEG, Windows, Classes, Graphics, Forms, Controls,
FileCtrl, StdCtrls, ExtCtrls, Buttons, Spin, ComCtrls, Dialogs,
Messages, SysUtils, Variants,
GIFImage, ExtDlgs;
type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
OpenPictureDialog1: TOpenPictureDialog;
OpenPictureDialog2: TOpenPictureDialog;
OpenPictureDialog3: TOpenPictureDialog;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
OpenPictureDialog2.Execute;
Image2.Picture.LoadFromFile(OpenPictureDialog2.Filename);
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
OpenPictureDialog3.Execute;
Image3.Picture.LoadFromFile(OpenPictureDialog3.Filename);
end;
function Max(i,j: Integer): Integer;
begin
if i > j then
Result:= i
else
Result:= j;
end;
procedure Concatenar(Destino, Origen: TGraphic);
var
Bitmap: TBitmap;
begin
Bitmap:= TBitmap.Create;
try
Bitmap.Width:= Max(Origen.Width, Destino.Width);
Bitmap.Height:= Origen.Height + Destino.Height;
Bitmap.Canvas.Draw(0,0,Origen);
Bitmap.Canvas.Draw(0,Origen.Height,Destino);
Destino.Assign(Bitmap);
finally
Bitmap.Free;
end;
end;
procedure HacerTira(Directorio: string; Resultado: string);
var
SR: TSearchRec;
Tira: TBitmap;
Temp: TJPEGImage;
begin
Tira:= TBItmap.Create;
Temp:= TJPEGImage.Create;
try
if Copy(directorio, Length(directorio), 1) = '\' then
Delete(Directorio, Length(Directorio), 1);
if FindFirst(Directorio + '\*.gif*', faAnyfile, SR) = 0 then
repeat
Temp.LoadFromFile(Directorio + '\' + SR.Name);
Concatenar(Tira,Temp);
until FindNext(SR) <> 0;
FindClose(SR);
Temp.Assign(Tira);
Temp.SaveToFile(Resultado);
finally
Tira.Free;
Temp.Free;
end;
end;
end.
despues del separador //++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hay un codigo que esta en
http://www.clubdelphi.com/foros/show...=unir+imagenes espero me puedan ayudar !
Saludos !