Sobre crear texto como imagen con GdiPlusX

237 views
Skip to first unread message

HernanCano

unread,
Oct 15, 2021, 5:15:56 AM10/15/21
to Comunidad de Visual Foxpro en Español
Hola, Luis M.Guayán y César Chalom.

Buen día, amigos.

Por estos días estoy necesitando poner un texto a un reporte, algo al estilo "Confidencial" inclinado digamos 30 ó 45 grados.

Como FoxyPreviewer tiene la posibilidad de poner una marca de agua a partir de una imagen (.cWaterMark), entonces busqué la forma de generar una imagen usando GDIPlusX, y encontré:

12 de octubre de 2017
Como crear texto como un archivo de imagen con GdiPlusX

Infortunadamente el ejemplo falla en la línea 

loNewBmp = .Bitmap.New(loSize.Ceiling())

diciendo que "La prop Ceiling no se encuentra".
Si se le da Ignorar, aparece una excepción no controlada (mensaje "similar" al mencionado por un colega anónimo):

TOIMAGE no es un objeto

Esto lo reporté en jun-2019; y también el colega Carlos en nov-2019 indicó que el error continuaba.

La URL fuente, probablemente de un blog de César Chalom, parece no estar activa:

http://weblogs.foxite.com/vfpimaging/archive/2007/11/24/5428.aspx

Pero encontré la misma info en 

2007-11-24
How to create text as image file with GdiPlusX

que también es un blog de César.
También ahí Thomas Holste en feb-2008 reportó el mismo impasse.

Pero en ninguno de los dos portales hay solución.

Intenté leer los fuentes de SYSTEM.*.PRG, pero hay muchas referencias a objetos anidadas, por ejm en SYSTEM.DRAWING.PRG en el método .MeasureString están:

m.loRect = CREATEOBJECT("xfcRectangleF", ...............)
m.loSize = CREATEOBJECT("xfcSizeF", ....................)

lo cual hace complejo de encontrar (para un simple mortal como yo --todo bien Luis y César--) la estructura de niveles de anidamiento de los objetos.
-------------------------------------
Confirmo que el ejemplo

14 de marzo de 2008
Convierta sus botones en BMPs con transparencia con GdiPlus

sí funciona como debe con el mismo SYSTEM.PRG obtenido de 


Ahí, en GitHub, el link también debe ser ajustado:

11/24/2007  How to create text as image file with GdiPlusX - VFPImaging
-------------------------------------

¿Alguno de ustedes pudo solventar el impasse mostrado aquí, y lo pueda compartir?

Gracias, amigos.

Zarlu

unread,
Oct 15, 2021, 6:54:13 PM10/15/21
to Comunidad de Visual Foxpro en Español
Buenas tardes Hernán!

Tiene que ser con GDIPlusX??

Suerte
zarlu
Chetumal, Quintana Roo, México

Sin título.png

Luis Maria Guayan

unread,
Oct 15, 2021, 7:44:53 PM10/15/21
to Comunidad de Visual Foxpro en Español
Hola Hernán, corregí y modifiqué un poco el código original de César para hacerlo funcionar. Ya lo puedes mirar en el artículo del Blog de la Comunidad:

-- Como crear texto como un archivo de imagen con GdiPlusX --

Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

HernanCano

unread,
Oct 15, 2021, 11:55:42 PM10/15/21
to Comunidad de Visual Foxpro en Español
No necesariamente, Zarlu.
Gracias por compartir.

El viernes, 15 de octubre de 2021 a la(s) 17:54:13 UTC-5, Zarlu escribió:
Buenas tardes Hernán!
Tiene que ser con GDIPlusX??

zarlu

HernanCano

unread,
Oct 16, 2021, 12:11:45 AM10/16/21
to Comunidad de Visual Foxpro en Español
Sí, Luis. Probado y ok.
Impecable labor.

Muchísimas gracias.

Ivan Martinez

unread,
Oct 16, 2021, 1:12:47 AM10/16/21
to publicesvfoxpro
Porqué complicarse tanto si los reportes de FoxPro permiten colocar imágenes de fondo.?

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/68345a29-07c5-4ad3-8a61-55ef4740918dn%40googlegroups.com.

HernanCano

unread,
Oct 16, 2021, 12:00:56 PM10/16/21
to Comunidad de Visual Foxpro en Español
¿Complicarse?
Sí, Iván. Pero la imagen no la tengo creada y necesitaba  que fuera un texto, algo como "Confidencial", "Privado", "En Pruebas".
Sabiendo que En GdiPlus se pueden generar imágenes con texto girado, pensé en esa solución... por que no tenía la imagen, y para generarla tengo el inconveniente que no todos los tipos de imagen son reconocidos "adecuadamente" por VFP.... y tampoco hay una documento que hable efusivamente y efectivamente de este tema.

Por éso pensé en generar la imagen "en caliente" según el texto que quisiere en cada momento y luego ponerla como marca de agua, algo que ya FoxyPreviewer maneja (marca de agua).

De hecho la solución propuesta por Zarlu es muy fácil de implementar (aunque debí investigarla).

Por todo ésto definitivamente me continúo afianzando a VFP.

Qué machera de VFP !!!.

Cesar Ch

unread,
Oct 25, 2021, 2:07:05 PM10/25/21
to Comunidad de Visual Foxpro en Español
Gracias LuisMa!
;-)

Saludos,

Cesar
__________________________________________________________________
Por favor, no envíen emails o mensajes privados en los foros solicitando por soporte.






--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages