Seite 1 von 1

GUI/Buttons

Verfasst: 18.07.2009 09:57
von macmark
Hi,
kennt einer von euch zufällig eine Quelle für schöne fertige Buttons mit Effekten??? Also sowas wie MouseOver, Runde Ecken usw...???
Gruss
Markus

Verfasst: 18.07.2009 11:59
von mk-soft
Compiler Optionen -> XP-Skin einschalten.
Geht natürlich nur wenn XP oder Vista installiert ist

Verfasst: 18.07.2009 12:36
von Kaeru Gaman
@mk:
ich glaub' da hast du ihn falsch verstanden...

@macmark:
das ist aber streckenweise unverhältnismäßiger Aufwand...

ich weiß nicht ob es geht, ein komplettes Skin einzubinden und nur für die eine Anwendung zu aktivieren,
ansonsten muss man sich mit einer Menge OwnerDrawn herumschlagen...
Anwendungen richtig zu skinnen ist sehr viel Arbeit.
wenn man einfach nur ein bissel fertigen Free-Content zusammenwürfelt sieht das aus wie Würfelhusten.

... und es gibt wirklich nichts Peinlicheres, als eine aufwendig geskinnte Anwendung die mangelhaft funktioniert.


... wenn du für Spiele meinen solltest, ist das natürlich was Anderes,
aber das funktioniert meistens auch anders, da wird man meistens nicht auf OS-GUI-Elemente zurückgreifen.

Verfasst: 18.07.2009 13:22
von X360 Andy
Passend zum Thema
Die meisten Mutli. Player bieten ja einen Color Mixer für den Skin.

Ich frag mich ja wie man sowas am besten realisieren sollte.
Bild

Bild

Hier kann man in Sekunden schnelle die Komplette Farbe ändern.
Es wird also warscheinlich nicht mit Bilder gearbeitet, aber wie dann ? Plot wäre ja z.b viel zu langsam ...

Verfasst: 18.07.2009 13:26
von STARGÅTE
Die Buttons usw. besteht nur aus Alpha-Kanälen bzw. Grauwerten.

Diese werden dann mit der jeweiligen Farbe gemischt, mit jeweiligen BlendingsModes...

Dadurch ist jede Farbe möglich ...
Jedoch imemr das gleiche Design...

Für verschiedene Formen müssten dann wiederum verschiedene Bilder gemacht werden ...

Verfasst: 18.07.2009 13:29
von Fluid Byte
Muss du jetzt wirklich den Thread hijacken und mit diesen riesigen Bildern zumüllen? /:->
Es wird also warscheinlich nicht mit Bilder gearbeitet, aber wie dann ? Plot wäre ja z.b viel zu langsam ...
Natürlich wird mit Bildern gearbeitet. Die Pixel werden im Speicher manipuliert. Erst wird von RGB nach HSL konvertiert, die neue Farbe gesetzt, dann zurück nach RGB. Hab ich selbst schon für einen Player gebastelt. Allerdings ohne Berücksichtigung des Alphakanals.

Verfasst: 18.07.2009 13:37
von X360 Andy
Fluid Byte hat geschrieben:Muss du jetzt wirklich den Thread hijacken und mit diesen riesigen Bildern zumüllen? /:->
Hatte den Verbesserten Post vergessen abzusenden ....


Die Graustufe des Bildes wird in Pixel ausgelesen und dann mit der einsgtellen farbe gemischt und dann wieder ausgegeben ?

Hört sich relativ einfach an.
Muss ich mir später mal ansehen ,thxes :allright:

Verfasst: 18.07.2009 14:06
von STARGÅTE
Hier mal n sehr sehr einfachen Beispiel wie sowas gehen könnte:

Code: Alles auswählen

UsePNGImageDecoder() 

Procedure Update()
 Farbe = Val(GetGadgetText(1))
 StartDrawing(imageOutput(0))
  Box(0, 0, 128, 128, Farbe)
  DrawAlphaImage(ImageID(1), 0, 0)
 StopDrawing()
 SetGadgetState(0, ImageID(0))
EndProcedure

OpenWindow(0, 0, 0, 240, 160, "Fenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 
 CreateImage(0, 128, 128)
 LoadImage(1, "test.png")

 ImageGadget(0, 10, 10, 128, 128, ImageID(0))
 StringGadget(1, 150, 10, 80, 20, "$F0A050")
 
 Update()
 
Repeat
 Event = WaitWindowEvent()
 Select Event
  Case #PB_Event_CloseWindow
   End
  Case #PB_Event_Gadget
   Select EventGadget()
    Case 1
     Update()
   EndSelect
 EndSelect
ForEver
Das Bild dazu :
Bild
http://data.unionbytes.de/test.png

Ein mögliches Ergebnis wäre dann :
Bild

PS: das ist keinesfalls die Vorlage für ein Skinsystem, sonder nur ein Beispiel !

Verfasst: 18.07.2009 14:19
von X360 Andy
Sehr geil kann man gut gebrauchen, damit lässt sich gut weiterarbeiten....

Verfasst: 18.07.2009 15:59
von macmark
Hi,
kann man sehr gut gebrauchen. Vielen Dank für die regen Antworten.
Gruss
Markus