Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2014
FabianSiza FabianSiza is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 41
Poder: 0
FabianSiza Va por buen camino
exportar 2 Timage en 1

hola como estan quisiera saber como exportar 2 o mas Timage en 1 estoy usando este codigo para exportar

if SavePictureDialog1.execute then
image12.picture.SaveToFile(savepicturedialog1.FileName+extension);

como hago para que todos salgan en uno solo? gracias
Responder Con Cita
  #2  
Antiguo 15-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola FabianSiza.
Cita:
Empezado por FabianSiza Ver Mensaje
hola como estan quisiera saber como exportar 2 o mas Timage en 1...
como hago para que todos salgan en uno solo? gracias
Código Delphi [-]
procedure ComposeImage(vImg: array of TImage; Target: TImage);
var
  bmp: TBitmap;
  grp: TGraphic;
  i,wdt: Integer;
begin
  bmp:= TBitmap.Create;
  try
    bmp.Height:= 0;
    bmp.Width := 0;
    wdt:= 0;
    for i:= Low(vImg) to High(vImg) do
    begin
      grp:= vImg[i].Picture.Graphic;
      if grp.Height > bmp.Height then
        bmp.Height:= grp.Height;
      bmp.Width:= wdt + grp.Width;
      bmp.Canvas.Draw(wdt, 0, grp);
      Target.Picture.Bitmap.Assign(bmp);
      Inc(wdt, grp.Width);
    end;
  finally
    bmp.Free;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.btnComposeClick(Sender: TObject);
begin
  ComposeImage([Image1, Image2, Image3, Image4], Image5); // [Image1,..., Image_N]
  //A partir de aquí podes guardar la imágen resultante como gustes.
end;
Salida:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 15-09-2014
FabianSiza FabianSiza is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 41
Poder: 0
FabianSiza Va por buen camino
Muchas gracias me a servido mucho, podrías decirme como hago para poder darle ubicaciones a las imágenes?, es decir quedan las dos en una sola pero en desorden como podría hacer que una quede en cierta parte y con cierto tamaño? gracias.
Responder Con Cita
  #4  
Antiguo 15-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Fabián.
Cita:
Empezado por FabianSiza Ver Mensaje
Muchas gracias me a servido mucho, podrías decirme como hago para poder darle ubicaciones a las imágenes?, es decir quedan las dos en una sola pero en desorden como podría hacer que una quede en cierta parte y con cierto tamaño? gracias.
Código Delphi [-]
...
implementation 

type
  TImgClass = class
  private
    Fimg: TImage;
    Fpos: TPoint;
  public
    constructor Create(aImg: TImage; const X,Y: Integer);
    destructor Destroy;
    property Image: TImage read Fimg write Fimg;
    property Posic: TPoint read FPos write FPos;
  end;

{ TImgRec }
constructor TImgClass.Create(aImg: TImage; const X,Y: Integer);
begin
  inherited Create;
  Fimg:= TImage.Create(nil);
  Fimg.Picture.Assign(aImg.Picture);
  FPos:= Point(X,Y);
end;

destructor TImgClass.Destroy;
begin
  Fimg.Free;
  inherited Destroy;
end;

{ TForm1 }
type
  TVecImgClass = array of TImgClass;

procedure CollageImage(vImg: TVecImgClass; Target: TImage);
var
  bmp: TBitmap;
  grp: TGraphic;
  i  : Integer;
begin
  bmp:= TBitmap.Create;
  try
    bmp.Height:= 0;
    bmp.Width := 0;
    for i:= Low(vImg) to High(vImg) do
    begin
      grp:= vImg[i].Image.Picture.Graphic;
      if vImg[i].Posic.Y+grp.Width > bmp.Width then
        bmp.Width:= vImg[i].Posic.Y+grp.Width + bmp.Width;
      if vImg[i].Posic.X+grp.Height > bmp.Height then
        bmp.Height:= vImg[i].Posic.X + grp.Height;
      bmp.Canvas.Draw(vImg[i].Posic.X, vImg[i].Posic.Y, grp);
      Target.Picture.Bitmap.Assign(bmp);
    end;
  finally
    bmp.Free;
  end;
end;

// Ejemplo de uso:
procedure TForm1.btnCollageClick(Sender: TObject);
var
  vImg: TVecImgClass;
  i: Integer;
begin
  SetLength(vImg, 4);
  vImg[0]:= TImgClass.Create(Image1, 0, 0);
  vImg[1]:= TImgClass.Create(Image2, 5, 135);
  vImg[2]:= TImgClass.Create(Image3, 150, 0);
  vImg[3]:= TImgClass.Create(Image4, 200, 150);
  CollageImage(vImg, Image5);
  for i:= 3 downto 0  do vImg[i].Destroy;
  Image5.Stretch:= True;
  Finalize(vImg);
end;

Muestra:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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
Exportar TImage a Excel lduron Servers 5 02-09-2010 00:47:55
como Hacer que un TImage siga a un Timage? j_flores3000 OOP 8 27-03-2008 18:47:50
Copiar Bitmap de un TImage a otro TImage quinqui Gráficos 2 24-01-2008 15:22:30
como combinar 2 Timage en un tercer Timage JefeNet Gráficos 10 02-09-2004 16:51:35
TImage MasterOzzy Varios 9 07-05-2004 00:07:47


La franja horaria es GMT +2. Ahora son las 08:23:46.


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