Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Ayuda con PNG (https://www.clubdelphi.com/foros/showthread.php?t=20041)

Elfoscuro 04-04-2005 18:57:28

Ayuda con PNG
 
Hola gente...

Necesito un componente o el código fuente para guardar archivos PNG, si puede ser comprimidos. Los ficheros van a ser siempre del mismo tamaño, sin transparencias y paridas varias y con 16 colores. No necesito ninguna "frivolidad". He visto componentes por ahí, pero me da miedo que el ejecutable se me hinche mogollón solo por meter el componente. Además, es tan simple lo que necesito...

¿Conoceis algo que sea simple de usar y que no pese mucho en la aplicación?

En realidad, el uso de PNG es por no usar GIF (de pago). Si conoceis alguna alternativa (como por ejemplo PCX o BMP comprimidos), también me valdría...

Saludos del elfo

Alfredo 07-04-2005 15:30:21

Claro que si, amigo....

Descarga esta libreria:

http://pngdelphi.sourceforge.net/

es muy sencilla de usar, solo tienes que agregar al Uses pngimage, y trabajas sobre un timage.picture como si se tratara de un .BMP.

Copia este codigo de ejemplo despues que instales la lib, es muy basico.
Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, pngimage;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
    Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;

end.

Solo tienes que descargar el zip pngimage143.zip. lo descomprimes en una carpeta: C:\PNG, por ejemplo, y sigues las intrucciones del archivo de ayuda en la seccion instalar componente. Cualquier duda... pregunta :D

Elfoscuro 09-04-2005 12:49:54

Gracias, lo miro.

El meter esto en mi aplicación, ¿no hará que engorde mogollón? Es que no que leches le pasa al delphi, que cada vez que metes un uses nuevo, aumenta 100k el ejecutable. No se que leches meterá, pero vamos...

¿No hay alguna forma de que no engorde tanto? Es que una aplicación muy simple ya pesa 500k de ejecutable, y si la complicas un poco, salta facil a los 1500k. No creo que sea necesario tanto peso. Seguro que hay un montón de código que se mete que no es necesario.

Saludos del elfo

Lepe 09-04-2005 14:28:16

Revisa estos hilos para el peso de tu exe:
compresor upx
Usando recursos

Un saludo

Alfredo 12-04-2005 05:12:27

Ciertamente existen muchas pautas para programar con el minimo desperdicio de recursos y maxima eficiencia, tales como creación de form y controles en runtime, archvos de recursos, dll y hasta el Dr. Marteens aconceja que escojamos nombres de campos persistentes mas cortos....

No es que este a favor del desorden y nadas por el estilo, y pienso que se debe ser lo mas profesional que se pueda, pero realmente creo con la potencia y las capacidades de los equipos actuales, tienes un margen mas amplio para ser creativo, sin exagerar la nota, por su puesto. Hay veces en las que cierto codigo no nos gusta, es "lento" o poco elegante, pero con los apremios por hacer la entrega del software, no es dificil tomar la decición. Ahora si contamos con el tiempo o si las exigencias del proyecto limitan pues es necesario mover las neuronas (o las teclas y preguntar en el foro :D ).

No intento que esto sea visto como un sermón tampoco, mas bien en todo caso estoy seguro que tu sabras determinar cuando es suficiente...

______
Nota: Puedes cargar la lib al proyecto, y ver la diferencia de tamaño.


La franja horaria es GMT +2. Ahora son las 06:04:12.

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