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
Danke euch für einen Tipp, wie/wo ich das nachlesen kann.
Besten Dank
Animagus
0xCC990011 Farbe??
Moderator: jNizM
-
- Posts: 23
- Joined: 19 Dec 2014, 15:23
Re: 0xCC990011 Farbe??
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?
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 !
Re: 0xCC990011 Farbe??
was ist mit 0x00000011 ?
Re: 0xCC990011 Farbe??
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.
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.
Re: 0xCC990011 Farbe??
Ich hatte RGBA im opfK.
-
- Posts: 23
- Joined: 19 Dec 2014, 15:23
Re: 0xCC990011 Farbe??
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.
@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.
Re: 0xCC990011 Farbe??
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.
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.
-
- Posts: 23
- Joined: 19 Dec 2014, 15:23
Re: 0xCC990011 Farbe??
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..
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..