Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
como comprimir una imagen

Código Delphi [-]
buscar_imagen.Execute;
img1.Bitmap.LoadFromFile(buscar_imagen.FileName);

tengo ese codigo para cargar una imagfen en un timage, quiero bajarle la resolucion, los pixeles y el tamaño para despues guardarlo en un blog de mysql pero quiero que sea lijera

ya me hace todos los procesos lo guardo y todo. pero quiero que al momento de seleccionar una imegen de mucha resoulicion bajarlo y asi me la guarde en la base de datos.

ojo repito ya yo muestro y guardo en la base, me falta es bajarle la resolucion antes de guardarlo en la base de datos.

muchas gracias
Responder Con Cita
  #2  
Antiguo 08-01-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hay varios hilos sobre ese tema, ejemplo, este mismo.
Responder Con Cita
  #3  
Antiguo 08-01-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
No me sirve ese hilo. Por q baja todas las imágenes que subo. Lo q necesito es que por ejemplo si una imagen es de 4000 px x 3000 px lo baje a 600*500 por ejemplo.


Ese hilo baja todas las imágenes a un porcentaje. Y si la imagen es de maña calidad la baja más. La idea es q todas las imágenes por ejemplo se conviertan a 600*500 px
Responder Con Cita
  #4  
Antiguo 08-01-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
https://neftali.clubdelphi.com/redim...-antialiasing/
Responder Con Cita
  #5  
Antiguo 09-01-2023
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si lo que deseas es bajar el tamaño de la imagen en pixels puedes usar Stretch de TImage o con la API StretchBlt de GDI pero el resultado es mejor usando GDIplus. En este hilo explico como hacerlo con GDIplus Flat con dos funciones básicas:
Código Delphi [-]
//---------------------------------------------------------------------------
// Dibuja un Bitmap en un hDC ajustando su tamaño para que quepa entero
// en las coordenadas dadas
procedure DrawImageRect(DC: HDC; Bitmap: HBITMAP; X, Y, W, H: integer);
var
  Graphics: Pointer;
  GBitmap:  THANDLE;
begin
  GdipCreateBitmapFromHBITMAP(Bitmap, 0, GBitmap);
  GdipCreateFromHDC(DC, Graphics);
  GdipDrawImageRect(Graphics, GBitmap, X, Y, W, H);
  GdipDisposeImage(GBitmap);
  GdipDeleteGraphics(Graphics);
end;

Código Delphi [-]
//-----------------------------------------------------------------------------
// Crea y devuelve un Bitmap con unas nuevas dimensiones y la imagen ajustada a estas
function CreateResizeBitmap(Bitmap: HBITMAP; H, W: integer): HBITMAP;
var
  Graphics: Pointer;
  GBitmap: THANDLE;
  DC, dcMem: HDC;
  bmOld: HBITMAP;
begin
  DC:= GetDC(0);
  Result:= CreateCompatibleBitmap(DC, W, H);
  dcMem:= CreateCompatibleDC(DC);
  bmOld:= SelectObject(dcMem, Result);

  GdipCreateFromHDC(dcMem, Graphics);
  GdipCreateBitmapFromHBITMAP(Bitmap, 0, GBitmap);
  GdipDrawImageRect(Graphics, GBitmap, 0, 0, H, W);
  GdipDisposeImage(GBitmap);
  GdipDeleteGraphics(Graphics);

  SelectObject(dcMem, bmOld);
  DeleteDC(dcMem);
  ReleaseDC(0, DC);
end;

El tema del formato final en el que se guarde la imagen es otro asunto que también se puede hacer con GDIplus.

Saludos.
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
¿como comprimir con delphi y zlib1.dll? JXJ Varios 2 21-07-2013 23:02:41
VCLZip. Como se usa para comprimir y descomprimir esvastiger Varios 1 22-04-2013 16:09:01
Como puedo convertir una imagen a una imagen semitransparente? antonio302050 Gráficos 0 27-03-2010 17:01:48
como comprimir una imagen jpeg kurono Varios 6 13-04-2008 04:14:03
comprimir un jpg User_baja1 Gráficos 1 08-07-2005 11:47:56


La franja horaria es GMT +2. Ahora son las 11:54:04.


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