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.