Hexstring in Hexzahl umwandeln

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Das weiß ich, aber ich will endlich Transparenz in GUi Anwendungen!
Ist doch blöd, wenn ich z. B. das Bild aus meinem Avatar auf einen ButtimImageGadget() bringen will und diesen weiße, überflüssige Fläche mit drankleben habe!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Beitrag von Marvin »

Warum erstellst du nicht ein Bild, das die Größe des PNG-Bildes hat, und füllst es mit der Windows-Farbe für 3D-Objekte? Dann könntest du dein PNG draufmalen, ungefähr so:

Code: Alles auswählen

PNG=LoadImage(-1,"PNG.png")
Button=CreateImage(-1,ImageWidth(PNG),ImageHeight(PNG))
StartDrawing(ImageOutput(Button))
Box(0,0,ImageWidth(Button),ImageHeight(Button),GetSysColor_(#COLOR_BTNFACE))
DrawAlphaImage(ImageID(PNG),0,0)
StopDrawing()
ImgBtn=ButtonImageGadget(-1,x,y,width,height,ImageID(Button))
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

@Kaeru ich glaube es war Laurin, und es war irgendwas mit "Frosch", "geduldig", "Ameisenhaufen", "Insekt", oder so was.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Marvin hat geschrieben:Warum erstellst du nicht ein Bild, das die Größe des PNG-Bildes hat, und füllst es mit der Windows-Farbe für 3D-Objekte?
Das geht nicht unter WinXP! Warum? Hast du dir beispielsweise schon mal ein Panelgadget() im XP-Style angesehen? mach es vom Format her mal schön groß, dann siehst du es besser: Das PanelGadget hat einen Farbverlauf von oben (heller) nach unten (dunkler). Am besten machst du davon ein Screenshot und speicherst es als GIF (ja, als GIF!). Aber bitte ohne Dithering, damt der Farbverlauf im GIF Bild furch die wenigeren Farben sichtbar wird.

Du darfst mir natürlich auch gern verraten, wie ich unter diesen Umständen perfekte Transparenz hinbekomme. Ach ja: Und warum soll ich das Bild selber zeichnen? Wenn es in PB volle PNG-Transparenz gäbe, würde ich mein PNG in ein ImageGadget() einsetzen und Ruhe geben. Denn bei deiner Methode muss ich bei jedem #WM_PAINT mein Bild selber neu zeichnen, was beim ImageGadget() entfällt; das steht so in der Hilfe.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@AND

XP-Style is sowieso scheiße. :-P

da is viel zu viel firlefanz drin, als dass man das was drauf läuft ruhigen gewissens GUI nennen könnte.
und für nen button ist nun ein alpha-transparentes image wirklich übertrieben.

aber wenn du unbedingt willst: es gab doch da nen code von ts um eigene controls zu erstellen.
vielleicht kannst du dort die eigenschaften von imagegadget und button kombinieren.
außerdem bleibt dir noch die möglichkeit, auf die click-events auf ein image zu reagieren,
und selbst eine button-anim einzufügen.


@Marvin
> Es soll keine PNG-Transparenz in PB geben?

ich hätte sie gerne bei sprites, was ja aber wie gesagt ein feature ist,
das halt in DX7 noch nicht vorhanden ist.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Man muss es auch nicht übertreiben.
Ein einfacher Screenshot reicht doch als Hintergrund. Dieser berücksichtigt dann auch Eventualitäten wie WindowBlinds-Stile.
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

@ Kaeru: Ich finde den XP Style eigentlich ganz ok.

Du kannst aber dein Programm nicht jemandem anbieten und bei ihm systemweit den XP Style ausschalten, nur weil dein Programm dann vernünftig läuft. und bei den Compileroptionen möchte ich das nicht ausschalten, weil es hier immer wieder Leute gibt, die dagegen sind:

Fragt einer: "Wie kann ich eigene Gadgets wie bei ICQ machen?
Sagt der andere: "Warum willst du das unbedingt, hä? Ich hasse es, wenn meine Systemoberfläche nicht einheitlich ist [sinngemäß]."

Diese Antwort gab übrigens nicht irgendeiner aus diesem Forum, sondern schon eine Person, die hier bekannt ist (weiß leider grad nicht mehr wer).



Außerdem finde ich Transparenz für Buttons NICHT übertrieben: Wer hat nicht schonmal davon geträumt, so ein Bild mit Transparenz auf einen Button zu bringen:
BildAber nein, das geht ja nicht. Und ein Workdrumrum hierfür finde ich genauso aufwändig, wie du deine Kriese hast mit Boole'schen Werten innerhalb von Termen!!! :wink: :-P
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten