Página 1 de 1

Imagenes tipo PCX

Publicado: Mié Dic 27, 2006 7:12 pm
por Josep Casas
Hola,
Por compatibilidad con programas MSDOS uso el tipo de imagen PCX. En
fivewin uso la libreria Freeimage y una modificación de la clase Timage
que me permitia usar estos ficheros además del resto de tipos de imagen.
La clase Timage de Xailer no soporta este tipo de imagenes.
¿Alguna solución?
Gracias.

Imagenes tipo PCX

Publicado: Mar Ene 02, 2007 11:11 am
por jfgimenez
Josep,
> Por compatibilidad con programas MSDOS uso el tipo de imagen PCX. En
> fivewin uso la libreria Freeimage y una modificación de la clase Timage
> que me permitia usar estos ficheros además del resto de tipos de imagen.
>
> La clase Timage de Xailer no soporta este tipo de imagenes.
No, me temo que no está soportado. El formato PCX es muy muy antiguo, y
hasta donde yo sé sólo era bueno para imágenes de 16 colores; para 256
colores era bastante deficiente, ya que el único algoritmo de compresión que
utiliza es RLE.
Mi consejo es que cambies a GIF, que se comporta perfectamente con imágenes
de 16 y de 256 colores, obteniendo un alto grado de compresión. En el caso
de fotografías, te aconsejo JPEG.
Si aún así, sigues necesitando los PCX, quizás se podría usar el PaintBrush
via OLE, o hacer un "wrapper" a GDI+, aunque no estoy seguro de que soporten
este formato en ninguno de los dos casos, y por supuesto, yo no he llegado a
probarlo. También se podría adaptar FreeImage a Xailer.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Imagenes tipo PCX

Publicado: Mié Ene 03, 2007 7:55 pm
por Josep Casas
Jose F. Gimenez escribió:
> Josep,
>
>> Por compatibilidad con programas MSDOS uso el tipo de imagen PCX. En
>> fivewin uso la libreria Freeimage y una modificación de la clase Timage
>> que me permitia usar estos ficheros además del resto de tipos de imagen.
>>
>> La clase Timage de Xailer no soporta este tipo de imagenes.
>
> No, me temo que no está soportado. El formato PCX es muy muy antiguo, y
> hasta donde yo sé sólo era bueno para imágenes de 16 colores; para 256
> colores era bastante deficiente, ya que el único algoritmo de compresión que
> utiliza es RLE.
>
> Mi consejo es que cambies a GIF, que se comporta perfectamente con imágenes
> de 16 y de 256 colores, obteniendo un alto grado de compresión. En el caso
> de fotografí­as, te aconsejo JPEG.
>
> Si aún así­, sigues necesitando los PCX, quizás se podrí­a usar el PaintBrush
> via OLE, o hacer un "wrapper" a GDI+, aunque no estoy seguro de que soporten
> este formato en ninguno de los dos casos, y por supuesto, yo no he llegado a
> probarlo. También se podrí­a adaptar FreeImage a Xailer.
>
Gracias por responder,
Cambiar a Gif me supone tirar 30 equipos que sólo se dedican a mostrar
fotografias (a 256 colores y con paleta común) en una consulta en cliper
y en MSDOS.
Para las aplicaciones más modernas usaba Fivewin+Freeimage pero con
Xailer no puedo. No se como adaptar FreeImage ya que en FW se modificaba
la clase TIMAGE y sin los fuentes no sé como hacerlo en Xailer (lo
más seguro es que tampoco supiera hacerlo).
¿Se puede adaptar Freeimage?
Gracias.

Imagenes tipo PCX

Publicado: Mié Ene 03, 2007 8:50 pm
por jfgimenez
Josep,
> Para las aplicaciones más modernas usaba Fivewin+Freeimage pero con Xailer
> no puedo. No se como adaptar FreeImage ya que en FW se modificaba la clase
> TIMAGE y sin los fuentes no sé como hacerlo en Xailer (lo más seguro es
> que tampoco supiera hacerlo).
Lo que hay que hacer es una clase similiar a TPicture que soporte PCX. Acabo
de revisar la documentación de MS sobre GDI+ y me temo que no soporta PCX.
> ¿Se puede adaptar Freeimage?
Sí, aunque yo particularmente nunca la he usado y no sé cómo funciona.
Intentaré echarle un vistazo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Imagenes tipo PCX

Publicado: Mié Ene 03, 2007 10:52 pm
por jfgimenez
Josep,
aquí tienes una función que carga una imagen a través de freeimage.dll y
devuelve un HBITMAP. La forma de usarla es así:
::oImage1:oPicture := TPicture():CreateIndirect( IMG_BITMAP,
FI_LoadImage( "imagen.pcx" ) )
Por supuesto, necesitas tener freeimage.dll en el directorio del programa o
en el de windows.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info


Attached files freeimage.zip (785 B)Â

Imagenes tipo PCX

Publicado: Lun Ene 08, 2007 7:37 pm
por Josep Casas
Hola grupo,
Probado y funcionando en el ejemplo "visor".
Gracias Jose F., tan eficiente como siempre. :-D
Jose F. Gimenez escribió:
> Josep,
>
> aquí­ tienes una función que carga una imagen a través de freeimage.dll y
> devuelve un HBITMAP. La forma de usarla es así­:
>
> ::oImage1:oPicture := TPicture():CreateIndirect( IMG_BITMAP,
> FI_LoadImage( "imagen.pcx" ) )
>
> Por supuesto, necesitas tener freeimage.dll en el directorio del programa o
> en el de windows.
>