Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 20
Elfoscuro Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 07-04-2005
Alfredo Alfredo is offline
Miembro
 
Registrado: nov 2003
Ubicación: Valencia, Venezuela
Posts: 234
Poder: 21
Alfredo Va por buen camino
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
__________________
if Vivir = Vivir + Aprender then Aprender = ?
Alfredo Borges
Responder Con Cita
  #3  
Antiguo 09-04-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 20
Elfoscuro Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 09-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Revisa estos hilos para el peso de tu exe:
compresor upx
Usando recursos

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 12-04-2005
Alfredo Alfredo is offline
Miembro
 
Registrado: nov 2003
Ubicación: Valencia, Venezuela
Posts: 234
Poder: 21
Alfredo Va por buen camino
Lightbulb

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 ).

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.
__________________
if Vivir = Vivir + Aprender then Aprender = ?
Alfredo Borges
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


La franja horaria es GMT +2. Ahora son las 03:38:49.


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