Ver Mensaje Individual
  #2  
Antiguo 14-06-2006
zurech zurech is offline
Miembro
 
Registrado: jul 2005
Posts: 61
Reputación: 19
zurech Va por buen camino
Hola Neftali, si metemos el código dentro de un "UNIT" en lugar de estar en un "FORM", y adaptándolo, para no utilizar los dialogs, me da un error en la siguiente linea.

Código Delphi [-]
bmp.Canvas.StretchDraw(bmp.Canvas.Cliprect, jpg);

Me indica
Código Delphi [-]
Incompatible types: 'TGraphic' and 'TJPEGImage'

y eso aun copiando los mismos uses en un lado y en otro.

Mi código para ser mas exactos es:

Código Delphi [-]
procedure descargarImagenMiniatura(direccionImagen: string; destino: string; ancho: integer; alto: integer);
var
  Stream: TMemoryStream;
  Jpg: TJPEGImage;
  bmp: TBitmap;
begin
  // Creo un par de cosillas
  Stream:= TMemoryStream.Create;
  Jpg:= TJPEGImage.Create;

  // INICIO: Parte de código que descarga una imagen de internet y la deja en un Stream
  try
    if (DownloadToStream(direccionImagen, Stream)) then
      begin
        try
          Stream.Seek(0,soFromBeginning);
          Jpg.LoadFromStream(Stream);
        except end;
      end;
  finally
    Stream.Free;
  end;
  // FIN: Parte de código que descarga una imagen de internet y la deja en un Stream

  // ----------------------------------------
       try
         //Crear el thumbnail
         bmp.Width := Round(jpg.Width * 50);
         bmp.Height := Round(jpg.Height * 50);
         bmp.Canvas.StretchDraw(bmp.Canvas.Cliprect, jpg);
         // Convertirlo y guardarlo en disco.
         jpg.Assign(bmp);
       finally
         bmp.free;
       end;
  // ----------------------------------------

  // Ahora guardo la imagen en el directorio que me han dicho
  Jpg.SaveToFile(destino + '\pepe.jpg');
end;
Responder Con Cita