0xCC990011 Farbe??

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

animagus46
Posts: 23
Joined: 19 Dec 2014, 15:23

0xCC990011 Farbe??

Post by animagus46 » 28 May 2020, 05:53

Hallo zusammen,
habe da ein Verständnisprobleme.

unter GDIP.ahk ist es möglich die Farbe die, die Schrift haben soll so zuhinterlegt. Also: pPen := Gdip_CreatePen("0xCC990011", 1)
Ich kann mit dem Wert 0xCC990011 nichts anfangen, soweit ich weiss ist das ein RGBA Wert (hoffe ich doch).
rgba(R,G,B,a) Swatches 255,255,255,.1
Wie muss ich CC990011 intepretieren?
Ich habe alle möglich Color Calculator ausprobiert, komme aber nicht darauf wie ich die richtige Farbe hinterlegen muss.
Ich brauche weisser hintergrund mit schwarzer Schrift.
Das müsste doch 0xFFFFFF01 sein. Aber ich bekomme irgend eine Gelbe Schrift (kann es leider nicht genau sagen,
da ich ein "kleine" Farbschwäche habe :roll:

Danke euch für einen Tipp, wie/wo ich das nachlesen kann.

Besten Dank
Animagus
BNOLI
Posts: 548
Joined: 23 Mar 2020, 03:55

Re: 0xCC990011 Farbe??

Post by BNOLI » 28 May 2020, 06:52

Also, ich habe keine mir bekannte Farbschwäche bzgl Sehkraft und sehe auch "Gelb": https://www.colorhexa.com/cc9900
sobald ich nur diesen Wert 0xCC990011 der Farbangabe berücksichtige. Das scheint bei dir ähnlich/gleich interpretiert zu werden.
Ich würde zart beweifeln wollen das die von dir gewünschte Farbgebung durch direkte Übergabe des Wertes in besagter Form möglich ist?
Remember to use [code]CODE[/code]-tags for your multi-line scripts. Stay safe, stay inside, and remember washing your hands for 20 sec !
User avatar
haichen
Posts: 631
Joined: 09 Feb 2014, 08:24

Re: 0xCC990011 Farbe??

Post by haichen » 28 May 2020, 07:16

was ist mit 0x00000011 ?
just me
Posts: 9574
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: 0xCC990011 Farbe??

Post by just me » 28 May 2020, 08:00

Moin,

für GDIP ist 0xCC990011 ein AlphaRedGreenBlue (ARGB) Wert. Das erste Byte bestimmt die 'Deckkraft' (Tranzparenz), das zweite den Rotanteil, das dritte den Grünanteil und das vierte den Blauanteil. Alle Werte liegen im Bereich von 0 - 255. Der Anteil für die Farbe ist hier 0x990011 (RGB).

Bei voller Deckkraft sind Weiß 0xFFFFFFFF und Schwarz 0xFF000000.
User avatar
haichen
Posts: 631
Joined: 09 Feb 2014, 08:24

Re: 0xCC990011 Farbe??

Post by haichen » 28 May 2020, 08:11

Ich hatte RGBA im opfK.
animagus46
Posts: 23
Joined: 19 Dec 2014, 15:23

Re: 0xCC990011 Farbe??

Post by animagus46 » 29 May 2020, 14:04

Hallo zusammen,
@BNOLI : Da bin ich froh, das du es aus so siehst. Aber Dank für den Link. Diese Seite ist sehr interessant. Danke.
@haichen : ändert sich nichts, hatte ich auch schon versucht. Ich ging auch davon aus das es RGBA ist, da es 8 Stellig ist. Bei 6 stellen , hätte ich auf RGB getippt. Danke auch dir.
@just me : Ich musste zuerst Googlen was zum Guguck ARGB ist. Das heisst, da ich von RGBA ausgegangen bin und ich nur die ersten 6 Zeichen geändert haben und die letzen 2 Zeichen für die Deckkraft ausgegangen bin, sich darum nichts gross geändert hat. Und ja mit Gdip_CreatePen(0xff000000, 1) klappt es. So doof. Aber ist es nur beim GDIP das ein ARGB Wert ist, oder kann ich immer davon ausgehen, wenn es 8 Zeichen hat das es ein ARGB und nicht ein RGBA Wert ist? Ich müsste jetzt im grunde (jetzt wo ich es weiss) immer bei 8 Zeichen schauen ob es ein ARGB oder ein RGBA Wert ist. Hmmm... Wie immer besten Dank Just me.

Super.
just me
Posts: 9574
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: 0xCC990011 Farbe??

Post by just me » 30 May 2020, 03:49

Moin,

AHK stammt noch aus den 'guten alten' 8- bzw. 16-Bit Zeiten und verwendet deshalb in Kommandos/Funktionen, die mit Farben arbeiten, ausschließlich das RGB-Modell. Die Farbe wird dabei üblicherweise als 6-Byte Hexwert im Format RRGGBB erwartet. Die systemeigene Schnittstelle heißt GDI.

Mit Win Vista wurde auf Systemseite GDI+ hinzugefügt. GDI+ arbeitet standardmäßig mit dem ARGB-Format. AHK kann damit nichts anfangen. Das Format ist deshalb nur für DllCall()s interessant. Dabei muss man beachten, dass 'klassische' GDI-Funktionen im Farbparameter das Hexformat 0x00BBGGRR erwarten. Im Speicher wird das dann als RRGGBB00 abgelegt.

GDI+-Funktionen erwarten dagegen das Format 0xAARRGGBB. Das Speicherformat ist hier BBGGRRAA.

Wenn Du einer GDI+-Funktion einen 'klassischen' RGB-Wert übergibst, siehst Du erstmal nichts, weil das Alpha-Byte 0 ist. Und selbst wenn Du das Alpha-Byte auf 0xFF setzt, sind die Farbkomponenten vertauscht.
animagus46
Posts: 23
Joined: 19 Dec 2014, 15:23

Re: 0xCC990011 Farbe??

Post by animagus46 » 31 May 2020, 13:01

Hmm..
ich habe mir jetzt mal die GDIP lib. näher angeschaut und was finde ich da unter Gdip_SetPenColor
Gdip_SetPenColor(pPen, ARGB) {
return DllCall("gdiplus\GdipSetPenColor", "UPtr", pPen, "UInt", ARGB)
}

Ohhh man...
Jetzt ist alles klar.
Danke..
Post Reply

Return to “Ich brauche Hilfe”