Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 25-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Una posible solucion puede ser esta, una funcion que concatena todas las imagenes jpg de un directorio en un tira:

Código Delphi [-]
uses JPEG;

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;


// Directorio es el directorio con las imagenes
// y Resultado el archivo jpg donde se guarda la tira
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 + '\*.jp*', 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;

Aunque hice algunas pruebas y se queda sin memoria bastante rapido si las imagenes son muchas y grandes . Pero puede que te sirva para tener algunas ideas.

Última edición por seoane fecha: 25-05-2006 a las 13:23:30.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Unir dos DBgrids Nbull Conexión con bases de datos 2 02-02-2006 09:19:00
Unir tres qry alcides SQL 6 11-07-2005 17:34:33
Unir Columnas vtdeleon SQL 4 15-06-2005 00:34:49
unir tablas Mario1980 Conexión con bases de datos 8 22-10-2004 10:36:45
unir db grids piyugo Varios 3 29-08-2004 23:54:50


La franja horaria es GMT +2. Ahora son las 09:21:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi