tincho   24-09-2021, 00:26
#1
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
Código:
  For Each oCont In [pTools]
    For Each o In oCont.Children

      If Object.Type(o) = "ToolButton" Then
        z = (o.h - 8)
        sPic = "./svg" &/ o.Tag & ".svg"
        If Exist(sPic) Then
          svg = dsk.Contrary(sPic, "#0066b3")
          pic = Image.FromString(svg).Stretch(z, z).Picture
          o.Picture = pic
        Endif
      Endif
    Next
  Next

Como cambiar el color antes de aplicarlos
Código:
'' Replace a color in an svg file with one that contrasts with the background of the desktop theme

Public Function Contrary(sFile As String, sColor As String) As String

  Dim svg As String

  If Application.DarkTheme Then
    svg = Replace(File.Load(sFile), sColor & ";", "#eeeeee;")
  Else
    svg = Replace(File.Load(sFile), sColor & ";", "#000000;")
  Endif

  Return svg

End

Saludos.

1 Saludo.
vuott   24-09-2021, 13:39
#2
Hola tincho,
que es "dsk" ?

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
tincho   24-09-2021, 13:58
#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.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.