Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 13-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
Para redimensionar una imagen no hace falta instalar un componente, es una tarea sencilla que podemos hacer hacer nosotros por codigo.

Aqui te dejo 2 funciones que para redimensionar una imagen:
Código Delphi [-]
// Esta cambia el alto y ancho, estirando la imagen si es necesario
procedure Redimensionar(Imagen: TGraphic; Ancho, Alto: Integer);
var
  Bitmap: TBitmap;
begin
  Bitmap:= TBitmap.Create;
  try
    Bitmap.Width:= Ancho;
    Bitmap.Height:= Alto;
    Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect,Imagen);
    Imagen.Assign(Bitmap);
  finally
    Bitmap.Free;
  end;
end;

// Esta otra mantiene la relacion entre alto y ancho
procedure Proporcional(Imagen: TGraphic; Ancho, Alto: Integer);
var
  Bitmap: TBitmap;
begin
  Bitmap:= TBitmap.Create;
  try
    if  (Ancho/Imagen.Width) < (Alto/Imagen.Height) then
      Alto:= Trunc((Ancho*Imagen.Height)/Imagen.Width)
    else
      Ancho:= Trunc((Imagen.Width*Alto)/Imagen.Height);
    Bitmap.Width:= Ancho;
    Bitmap.Height:= Alto;
    Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect,Imagen);
    Imagen.Assign(Bitmap);
  finally
    Bitmap.Free;
  end;
end;

Para usarlas lo puedes hacer algo asi:
Código Delphi [-]
uses JPEG;

var
  Jpg: TJPEGImage;
begin
  Jpg:= TJPEGImage.Create;
  try
    Jpg.LoadFromFile('d:\Original.jpg');
    Redimensionar(Jpg,100,100);
    Jpg.SaveToFile('d:\Copia.jpg');
  finally
    Jpg.Free;
  end;
end;

O tambien con un btimap
Código Delphi [-]
var
  Bmp: TBitmap;
begin
  Bmp:= TBitmap.Create;
  try
    Bmp.LoadFromFile('d:\Original.bmp');
    Proporcional(Bmp,100,100);
    Bmp.SaveToFile('d:\Copia.bmp');
  finally
    Bmp.Free;
  end;
end;
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
Redimensionar imagenes con buena calidad? RazoR Gráficos 17 06-06-2006 21:47:37
Un dbgrid con imagenes para tactil nugame Varios 2 19-11-2005 22:14:14
Algun componente Dbaware que hayan comprobado que puede guardar imagenes jpg en MYSQL delphivan MySQL 0 30-05-2005 16:37:37
Redimensionar imagenes a unas medidas determinadas Jan_polero Gráficos 1 01-02-2005 14:18:32
ruta de un directorio para imagenes squenda OOP 3 01-09-2004 20:31:55


La franja horaria es GMT +2. Ahora son las 16:25:28.


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