Access - Uso de GDI+ para dibujar en Userform de Access

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Uso de GDI+ para dibujar en Userform de Access

Publicado por Germán (18 intervenciones) el 10/08/2021 21:29:25
Buenos días a todos, estoy estancado con un tema bastante apasionante, con la ayuda de de este post: https://social.msdn.microsoft.com/Forums/en-US/8c39712f-fb49-4ef6-9fd2-245b79bb6c67/using-gdi-in-excel-vba?forum=isvvba , y haciendo unas simples modificaciones he podido utilizar algunas funciones de GDI+ para dibujar sobre un userform en Access, increíblemente útil para aumentar las capacidades de las aplicaciones que podemos desarollar en Access, se puede trabajar con rellenos, transparencias, líneas, etc...
Además he agregado la función para dibujar polígonos y rellenarlos.

Pero, acá viene el problema... estoy necesitando algunas funciones mas y la verdad no se como hacerlo. Necesito poder capturar en un archivo de imagen lo que dibujo en el formulario y ademas tener la opción de "escalar" lo dibujado. Se que GDI+ ofrece funciones como "GdipScaleWorldTransform" pero no he logrado incluirlas en el código VBA... ¿alguien podrá tirarme un cable al respecto? Saludos y desde ya muchísimas gracias por todo!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Uso de GDI+ para dibujar en Userform de Access

Publicado por Horroroso (1 intervención) el 13/08/2021 00:13:09
Hola, buen día,

Espero poder ayudarte,

Lo que puedes hacer es crear una rutina para la creación del dibujo, y unicamente pasar como parámetro el elemento graphics que va a contener el dibujo.

De esta forma, ya sea que le pases el graphics de un control o de un bitmap, hará el mismo dibujo.

Así, si pasas el graphics de un bitmap podras utilizar después el método Save del bitmap.

Para el escalado, hay varias opciones, puedes utilizar transform, pero también puedes escalar la imagen creada, o incluso modificar la escala de tu canvas. todo depende de la calidad que se requiera.

Si necesitas ayuda en específico con código, te puedo ayudar, he desarrollado con GDI+ así como con MSAccess, incluso desarrollado controles para Access con GDI+.

Saludos.

-Horroroso-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 21
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Uso de GDI+ para dibujar en Userform de Access

Publicado por Germán (18 intervenciones) el 05/09/2021 00:51:43
Hola!, gracias por tu respuesta, despues de mucho buscar y revolver internet di con este sitio bestial donde un crack llamado Thierry GASPERMENT o Arkham46, realizó un trabajo increíble enlazando GDI+ a VBA con solo importar un módulo de clase, está en francés pero se traduce bien automáticamente: https://arkham46.developpez.com/articles/office/clgdiplus/

Para mi sorpresa también el mismo desarolló todo lo necesario para usar OPENGL en VBA, tal vez mas adelante me meta, pero ahora estoy a full con GDI y mi aplicación de Access tiene vida nueva y mucho mas para ofrecer.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar