14 de febrero de 2018

Gdiplus.vcx y SavetoFile

Artículo original: Gdiplus.vcx and SavetoFile
http://weblogs.foxite.com/vfpimaging/archive/2006/03/24/1338.aspx
Autor: Cesar Ch.
Traducido por: Ana María Bisbé York


¿Ve algo mal en el siguiente código?

LOCAL lcSource, lcDest
lcSource = GETPICT()
lcDest = JUSTPATH(lcSource) + "\_" + JUSTSTEM(lcSource)
LOCAL loImage AS GpImage OF HOME() + ffc\_gdiplus.vcx
loImage = NEWOBJECT("GpImage",HOME()+"ffc\_gdiplus.vcx")
loImage.CreateFromFile(lcSource)
loImage.SaveToFile(lcDest + ".png","Image/png")

Es un código muy sencillo, que se supone que cargue una imagen y la guarde en un PNG. ¡Pero no ocurre nada ! ¿Puede adivinar por qué?

El método SaveToFile de la clase GpImage de _gdiplus.vcx debe recibir un segundo parámetro, tal y como es requerido, el "tvCLSIDEncoder", que puede ser el CLSID del código a emplear, o un tipo MIME, por ejemplo "image/jpeg" o "image/png". Si se especifica un tipo MIME, entonces, el método se muestra dinámicamente el CLSID del código apropiado.

El 99% de nosotros pasa el tipo MIME, debido a que es fácil de recordar; pero  ¡ TENGA CUIDADO ! Porque el parámetro tipo MIME  distingue entre mayúsculas y minúsculas.

¡ Tiene que pasar este parámetro siempre en letras minúsculas !

El código mostrado antes, no funcionaba porque había escrito "Image/png" en lugar de "image/png"

Vaya, ¡ he perdido tanto tiempo en eso !

*()&)(*)%@&$(@&!)@*(_*(&!_()&*_)(&*+_*()

A propósito, los tipo MIME ( Multipurpose Internet Mail Extensions) de los códigos generados dentro de Microsoft Windows GDI+ son los siguientes:

image/bmp 
image/jpeg 
image/gif 
image/tiff 
image/png 

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.