Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda Con Winzip En Delphi (https://www.clubdelphi.com/foros/showthread.php?t=25951)

rob1 08-10-2005 21:14:09

Ayuda Con Winzip En Delphi
 
hola alguien sabe si hay alguna manera de generar un bmp y este mismo zipearlo desde delphi por ejemplo si tenemos imagen.bmp creada por la aplicacion, en el escritorio, hay una manera de zipearla desde el programa, obviamente sin q se ejecute la ventana de winzip y q tengamos q poner i agree etc.
si alguien tiene algun consejo: el tema es reducir el tamaño de ese bitmap

dec 08-10-2005 21:23:11

Hola,

Vayamos por partes. Para comprimir archivos en formato Zip cuentas con no pocos componentes para Delphi. Estos resultados de una búsqueda en los Foros te proporcionarán información sobre algunos componentes que puedes utilizar para ese fin.

En cuanto a reducir el tamaño de un "bitmap"... tal vez podrías convertirlo al formato "JPG", o incluso a otros formatos, como "GIF". Para lo primero podrías utilizar la clase "TJPEGImage" que encontrarás definida en la unidad "Jpeg". Para lo segundo (así como para otros formatos) podrías acaso valerte de componentes como pudiera ser "TGifImage" de Anders Melander.

En cuanto a generar el "bitmap" desde Delphi, pues tal vez podrías servirte de un "TPaintBox" (pestaña "System" de la paleta de componentes de Delphi) y utilizar los métodos conque cuentas en su propiedad "TCanvas" para dibujar lo que te fuera menester.

rob1 09-10-2005 06:22:34

ok
 
gracias por tu respuesta pero lo de dibujar el bitmap ya lo habia logrado =mente me fijare en esos componentes q me has nombrado para cambiar el formato :) muchas gracias

dec 09-10-2005 06:40:09

Hola,

Mira un sencillo ejemplo de cómo podrías convertir un archivo "BMP" en uno "JPG" reduciendo el tamaño de aquél en un buen porcentaje (echa un vistazo a las propiedades y métodos de "TJPEGImage" para ir un poco más allá). Sin utilizar la propiedad "CompressionQuality" ya reduciríamos en buena medida el tamaño del "BMP", pero, del siguiente modo aún lo podemos reducir un poco más. Tendrás que jugar con el valor de dicha propiedad, puesto que si este fuera "1", por ejemplo, el "BMP" se reduciría, pero, efectivamente, la calidad del "JPG" haría de este poco útil.

Código Delphi [-]
 uses
   Jpeg;
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   bmp: TBitMap;
   jpg: TJPEGImage;
 begin
   bmp := TBitmap.Create;
   jpg := TJPEGImage.Create;
   try
     bmp.LoadFromFile('C:\archivo.bmp');
     jpg.Assign(bmp);
     jpg.CompressionQuality := 50;
     jpg.SaveToFile('C:\archivo.jpg');
   finally
     bmp.Free;
     jpg.Free;
   end;
 end;

kapullok_2006 14-06-2007 10:34:42

de jpg a bmp
 
y para pasar un archivo jpg a bmp?
Esta línea no valdría?-> jpg.CompressionQuality := 50;
Es mas o menos hacer lo mismo,pero sin esa linea y al contrario.
lo he preguntado en el foro de gráficos,me aconsejaron pero no me funciona.


Saludos.

b3nshi 13-07-2007 00:55:02

Aqui tienes como convertir de JPG a BMP... hay mucha ayuda en la web sobre este tema... solo debes buscar
Código Delphi [-]
procedure TFprincipal.bconvertirClick(Sender: TObject);
               var 
                 imjpg : TJPEGImage;
                 imbmp  : TBitmap;
               begin 
                 imjpg := TJPEGImage.Create;
                 with imjpg do begin 
                   LoadFromFile('imagen.jpeg');
                   imbmp := TBitmap.Create;
                   with imbmp do begin 
                     Width := imjpg.Width;
                     Height := imjpg.Height;
                     Canvas.Draw(0,0,imjpg);
                     SaveToFile('imagen.bmp');
                     Free;
                   end; 
                   Free;
                 end; 
               end;

{Saludos}

jhonny 13-07-2007 01:13:04

Incluso en los trucos de ClubDelphi también hay información al respecto:

http://www.clubdelphi.com/trucos/ind...=1&scrollb=175

Neftali [Germán.Estévez] 13-07-2007 10:28:16

Cita:

Empezado por kapullok_2006
y para pasar un archivo jpg a bmp?
Esta línea no valdría?-> jpg.CompressionQuality := 50;

Son dos cosas diferentes. Una cosa es convertir entre formatos; Es la misma imagen (o casi) guardada de diferente forma. Lo otro se refiere (como dice la propiedad) a compresión, pero a base de calidad; por lo tanto reducirás el tamaño, pero perderás calidad en la imagen (esa calidad no podrás volver a recuperarla una vez guardada la imagen :().

Enan0 13-07-2007 14:14:55

para zipear el archivo aca te dejo un linck en el cual hago una referencia al Componente TZIP con el codigo que se utiliza

Procedimiento Zipear!!

http://www.clubdelphi.com/foros/show...highlight=tzip


Saludos

b3nshi 13-08-2007 19:42:19

Aqui un ejemplo de un programa compresor y descompresor ZIP ;)

http://www.ajpdsoft.com/modules.php?...p=getit&lid=49

{Saludos}


La franja horaria es GMT +2. Ahora son las 04:55:57.

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