PDA

Ver la Versión Completa : Imagenes GIF


NuncaMas
04-12-2003, 21:37:24
Quiero poner en un Timage un .gif y hago:

Imagen1.picture.loadfromfile('jj.gif') y me dice algo asi como formato incorrecto..

hay alguna forma de arreglarlo. Tb e oido que existe Tgifimage pero de donde saco ?? Gracias

roman
04-12-2003, 21:40:57
Las librerías RX tienen una componente que te permite mostrar gifs.

Por cierto, esta pregunat es más adecuada para el foro de "Gráficos".

// Saludos

NuncaMas
04-12-2003, 21:42:13
Como se llama el componente??

NuncaMas
04-12-2003, 21:49:19
Y con el timage no puedo hacerlo, es que ahora ya tengo la leche de componentes timage??Gracias y siendo haber puesto el hilo aki.

roman
04-12-2003, 22:14:54
NuncaMas comentó:
Como se llama el componente??

RxGifAnimator

NuncaMas comentó:
Y con el timage no puedo hacerlo

Normalmente no ya que Delphi no incluye manejo para este formato. Puedes bajar la librería
GraphicEx (http://www.delphi-gems.com/Downloads.php) que maneja varios formatos gráficos, entre ellos Gif y Tiff.

Al incluir la librería (GraphicEx.pas) en tu proyecto habilitas a TImage para cargar archivos gif mediante el método LoadFromFile y si quieres incluir la habilidad durante el diseño deberás agregar la librería en algún paquete de diseño. Más detalles vienen en el archivo de ayuda de dicha librería.

Lo que sí te adelanto es que sea cual sea el método que uses, mientras no pagues licencia a Unisys es ilegal el uso de archivos gif. Esto está especificado en la librería que te menciono y por ello la extensión gif está deshabilitada por defecto.

Desconozco cuál es la situación de las librerías RX ya que, como dije, en principio es ilegal.

// Saludos

roman
04-12-2003, 22:18:23
Una aclaración:

Creo que lo ilegal no es el uso de archivos gif (de lo contrario el 99.99% de las páginas web serían ilegales) pero el formato gif tiene copyright y usar una librería como GraphicEx significa usar dicho formato.

Bueno, algo así porque creo que ni yo me entendí :D

// Saludos

NuncaMas
05-12-2003, 10:35:46
Me he bajado esa libreria, pero ahora no tengo ni idea de como incluirla... aparecen varios .pas y un monton de .obj, me podrias indicar que tengo que hacer (como si fuese un niño de 6 años :)

roman
05-12-2003, 15:44:32
NuncaMas comentó:
Me he bajado esa libreria, pero ahora no tengo ni idea de como incluirla

Viene incluído un archivo de ayuda chm. Lo que tienes que hacer es incluir la carpeta donde desempacaste los archivos en el "Library path":

Tools|Enviroment Options|Library|Library Path

para que Delphi la encuentre e incluir la unidad GraphicEx en cualquier proyecto en donde quieras usarla (añadirla enla cláusula uses).

Además de esto, coo te mencioné, por defecto viene desactivado el anejo degifs. Para activarlo abre el archivo GraphicConfiguration.inc en la carpeta de GraphEx y verá casi al principio la línea:

{.$define UseLZW}

Debes quitarle el punto antes del signo $ y guardar el archivo.

Con esto ya puedes usar el formato gif con:

Image1.Picture.LoadFromFile.

Te recuerdo que con esto no podrás usar los gifs durante el diseño (Propiedad Picture) pero también lo puedes activar añadiendo la unidad en algún paquete de diseño, como por ejemplo el que incluye Borland para el usuario (creo que se llama Borland User components) o crearte tú mismo uno.

// Saludos

Amilius
21-01-2004, 02:13:23
Lo que sí te adelanto es que sea cual sea el método que uses, mientras no pagues licencia a Unisys es ilegal el uso de archivos gif.

Sólo en los territorios salvajes llenos de orcos y otros demonios que vendieron su alma a las multinacionales.

Existen versiones mejoradas (Comprimi varios archivos .BMP de color indexado con el winrar y verás que comprime mucho mejor que el GIF, por que usa un algoritmo variante mucho mejor), con cabecera reducida y diccionario de tamaño variable de acuerdo a la imagen, todo con la misma idea del DICCIONARIO que como todos sabemos existe hace siglos y no tiene por que ser patente de ninguna multinacional del demonio.

Amilius
21-01-2004, 02:29:03
Adjuntaría el codigo fuente de una librería para abrir .GIF similar al que se usa para los JPEG, pero no se puede subir archivos de mas de 1KB O.o

el archivo es:

gifimage_src0202.zip

75Kb comprimido.
361Kb en .pas

Un gran trabajo, puedes abrir hasta GIFs animados y guardar en .GIF reduciendo la cantidad de colores y aplicando varios métodos de difusión.

Tal vez lo encuentren por ahi. Es para delphi 3 al 5. Supongo que funcionará en el 6, habrá que probar.

Si no lo ubican coloquen sus emails aqui para que les envie el archivo.

Nota: no lei todos sus mensajes asi que no respondan que alguien ya puso el archivo.

axel.isr
24-08-2012, 02:40:42
Mil disculpas por reabrir un tema viejo, pero me encuentro bastante trabado en un proyecto.

Necesito utilizar imágenes GIF en una aplicación, y al parecer GraphicEx.pas serviría para esto. Al momento no se como agregar esta librería, sé que Roman lo ha explicado pero no encuentro el path que menciona por ningún lado.
Alguien que me heche una mano?

Mil gracias!

roman
24-08-2012, 06:18:22
La biblioteca la puedes descargar de aquí (http://www.delphi-gems.com/index.php/all-downloads) (búscala en el listado).

// Saludos

axel.isr
24-08-2012, 13:38:08
Ya la descargué, lo que no sé es donde tengo que colocar los archivos o que tengo que hacer desde Delphi.

Saludos.

roman
24-08-2012, 16:57:15
Eso viene especificdo en el archivo de ayuda:


GraphicEx needs basically no installation because it just registers its graphic classes with TPicture on unit initialization time and from this point on TPicture is able to load images of all supported types. So all you must do to "install" GraphicEx (make its features available at runtime) is to put it in any uses clause of any source file of your project. In order to use GraphicEx images classes at design time too you should add GraphicEx and its associated files into a package of your choice. Any package will do it as long as it is also loaded at design time. Once you have included the library you can load all those exciting image formats at design time too. Note: You will not get an icon or something like this in the component palette. GraphicEx does not implement any component.


O sea, básicamente debes poner el directorio GraphicEx donde desees e incluir la unidad graphicex.pas en tu proyecto.

// Saludos

ecfisa
24-08-2012, 22:11:04
Hola.

Como otra opción, sin instalar componentes, está disponible el código de esta unidad GifImage.pas (http://www.koders.com/delphi/fidA7BF011D3E3D7FB00D46144FE29E94FC603F1807.aspx). El uso no es muy complejo, por ejemplo:

uses GifImage;
...
var
GI: TGifImage;
begin
GI:= TGifImage.Create;
try
GI.LoadFromFile('C:\Users\Users\Pictures\Gif_Animado.gif');
Image1.Picture.Assign(GI)
finally
GI.Free
end;
...


Saludos.

roman
24-08-2012, 22:15:06
Bueno, bueno. Pero que conste que con graphicex tampoco hay que instalar componentes :p

// Saludos

escafandra
24-08-2012, 22:49:17
Pues siguiendo este hilo (http://www.clubdelphi.com/foros/showthread.php?t=77904) puedes encontrar tienes una clase para el manejo de GIF: TGIF (http://www.delphiaccess.com/forum/graficos-18/formato-de-imagen-gif/) que no es un componente y otra que si lo es: TGifViewer (http://www.delphiaccess.com/forum/componentes-12/tgifviewer-un-visor-versatil-de-animaciones-gif/). :p


Saludos.

roman
24-08-2012, 22:53:30
¡Eso es bueno! Para todos los gustos :D

// Saludos