Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Como cargar SVG por código en los controles
#1
Information 

Hola amigos.
Les presento un método que uso bastante seguido en mis programas ya que ademas de la excelente calidad gráfica que se logra, evita el molesto problema de las imágenes "negativas"
Como cargar los archivos
GAMBAS
  1.   For Each oCont In [pTools]
  2.     For Each o In oCont.Children
  3.  
  4.       If Object.Type(o) = "ToolButton" Then
  5.         z = (o.h - 8)
  6.         sPic = "./svg" &/ o.Tag & ".svg"
  7.         If Exist(sPic) Then
  8.           svg = dsk.Contrary(sPic, "#0066b3")
  9.           pic = Image.FromString(svg).Stretch(z, z).Picture
  10.           o.Picture = pic
  11.         Endif
  12.       Endif
  13.     Next
  14.   Next



Como cambiar el color antes de aplicarlos
GAMBAS
  1. '' Replace a color in an svg file with one that contrasts with the background of the desktop theme
  2.  
  3. Public Function Contrary(sFile As String, sColor As String) As String
  4.  
  5.   Dim svg As String
  6.  
  7.   If Application.DarkTheme Then
  8.     svg = Replace(File.Load(sFile), sColor & ";", "#eeeeee;")
  9.   Else
  10.     svg = Replace(File.Load(sFile), sColor & ";", "#000000;")
  11.  
  12.   Return svg
  13.  



Saludos.

1 Saludo.
[-] Los siguientes 1 usuarios dice gracias a tincho por este post:
  • Grandamakulo
    ¡Gracias!
#2

Hola tincho,
que es "dsk" ?

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#3

(24-09-2021, 13:39)vuott escribió:  Hola tincho,
que es "dsk" ?

Hola Vuott.
dsk es un módulo que aloja la función Contrary. Le puse ese nombre por Desktop, y en el pongo cosas que solo se usan en aplicaciones Desktop.
Saludos.

1 Saludo.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por tincho
24-05-2021, 11:40
Último mensaje por tincho
08-09-2020, 23:17

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)