Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2005
Raze Raze is offline
Registrado
 
Registrado: feb 2005
Posts: 9
Poder: 0
Raze Va por buen camino
Compresion de un jpg

estoy intentando comprimir un jpg con ayuda de TJpegImage y no consigo resultados. El código, compilado en Delphi 6 es el siguiente

fotografia := TJPegImage.Create;
fotografia.LoadFromfile('c:\sincomprimir.jpg);
fotografia.CompressionQuality := 30;
fotografia.Compress;
fotografia.SaveToFile('c:\comprimido.jpg);
fotografia.Free;

al ejecutarlo, el fichero comprimido.jpg ocupa 0 kb. Si prescindo de la orden compress lo crea bien, pero del mismo tamaño del anterior.

¿¿que estoy haciendo mal??
Responder Con Cita
  #2  
Antiguo 18-02-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 15
marto Va por buen camino
El formato jpg ya está comprimido
__________________
E pur si muove
Responder Con Cita
  #3  
Antiguo 18-02-2005
Raze Raze is offline
Registrado
 
Registrado: feb 2005
Posts: 9
Poder: 0
Raze Va por buen camino
cierto...

perdón
me referia a la disminución de la calidad (que repercuta en el tamaño final del fichero). Por defecto la calidad es de 90, y se puede poner en un rango de 0 a 100, pero al ejecutar la instruccion fotografia.compress es cuando no me da el resultado esperado.
aprovechando...¿es posible disminuir el tamaño en pixeles de la imagen?
veo las propiedades pixelformat y scale, pero no encuentro en ningún lado documentación para utilizarlas

gracias
Responder Con Cita
  #4  
Antiguo 18-02-2005
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 171
Poder: 14
ramonibk Va por buen camino
aver si entiendo lo que quieres.

es que en la visualizacion de la imagen esta te salga del tamaño que tu quieres sim perder la nitidez. es eso???


Bueno te pongo el codigo que yo uso para ver imagenes aver si te sirve


Código:
procedure CargaJPGProporcionado( Fichero: string; const QueImage: TImage);
var
ElJPG		: TJpegImage;
Rectangulo : TRect;
EscalaX,
EscalaY,
Escala	 : Single;
begin
ElJPG:=TJPegImage.Create;
try
ElJPG.LoadFromFile( Fichero );
//Por defecto, escala 1:1
EscalaX := 1.0;
EscalaY := 1.0;
//Hallamos la escala de reducción Horizontal
if QueImage.Width < ElJPG.Width then
	EscalaX := QueImage.Width / ElJPG.Width;
//La escala vertical
if QueImage.Height < ElJPG.Height then
		EscalaY := QueImage.Height / ElJPG.Height;
//Escogemos la menor de las 2
if EscalaY < EscalaX then Escala:=EscalaY else Escala:=EscalaX;
//Y la usamos para reducir el rectangulo destino
with Rectangulo do begin
	Right:=Trunc(ElJPG.Width * Escala);
	Bottom:=Trunc(ElJPG.Height * Escala);
	Left:=0;
	Top:=0;
	end;
//Dibujamos el bitmap con el nuevo tamaño en el TImage destino
with QueImage.Picture.Bitmap do begin
Width := Rectangulo.Right;
Height := Rectangulo.Bottom;
Canvas.StretchDraw( Rectangulo,ElJPG );
End;
finally
ElJPG.Free;
end;
Bueno se me olvido decir que esto lo tome de Trucomania http://www.q3.nu/
a los cual les doy las gracias
Espero que te sea util

Última edición por ramonibk fecha: 23-02-2005 a las 19:41:37.
Responder Con Cita
  #5  
Antiguo 21-02-2005
Raze Raze is offline
Registrado
 
Registrado: feb 2005
Posts: 9
Poder: 0
Raze Va por buen camino
¡¡muchísimas gracias!!
justo lo que necesitaba
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 07:22:13.


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