Ver Mensaje Individual
  #1  
Antiguo 02-04-2009
Rako Rako is offline
Miembro
 
Registrado: mar 2007
Posts: 39
Reputación: 0
Rako Va por buen camino
Crear un thumbnail rapido

Hola, no tengo mucha idea de como hacer esto ni como funciona, pero el caso es que me peta y no se muy bien porque. Este codigo haria un thumbnail de una imagen grande, dejando el valor mayor de anchura/altura a 70, y el otro a su correspondiente escala:

Código:
 try
    ImageEnIO1.LoadFromFileJpeg(filename);
    //MejoraFotoProc.AttachedBitmap:=ImageEnIO1.AttachedBitmap;
    MejoraFotoProc.AttachedIEBitmap:=ImageEnIO1.AttachedIEBitmap;
    MejoraFotoProc.AttachedBitmap:=ImageEnIO1.AttachedBitmap;
    //if ImageEnIO1.AttachedBitmap.Height > ImageEnIO1.AttachedBitmap.Width then begin
    //if ImageEnIO1.Bitmap.Height > ImageEnIO1.Bitmap.Width then begin
    if MejoraFotoProc.AttachedBitmap.Height > MejoraFotoProc.AttachedBitmap.Width then begin
      //scale := 70 / jpg.Height;
      scale := 70 / ImageEnIO1.Bitmap.Height;
    end else begin
      scale := 70 / ImageEnIO1.Bitmap.Width;
    end;
    w:=Round(ImageEnIO1.Bitmap.Width * scale);
    h:=Round(ImageEnIO1.Bitmap.Height * scale);
    try
        MejoraFotoProc.Resample(w,h,rfNone);
        ImageEnIO1.IEBitmap:=MejoraFotoProc.AttachedIEBitmap;
        ImageEnIO1.SaveToFileJpeg('tmp_thumb.JPG');
    finally
    end;
  except
    MessageDlg('Error loading picture', mtWarning, [mbOK], 0);
  end;
Me peta cuando simplemente intenta acceder a las variables de width o heigth en el if del imageenio o del imageenproc para saber como escalarlo.

Me imagino que estara mal cargado los imageenio e imageenproc. Pretendia que imageenIO cargara un .jpg del discoduro, y le pasara la imagen al imageenproc.

muchas gracias por adelantado
Responder Con Cita