ARGB Wert
Übersicht

![]() |
FoppeleBetreff: ARGB Wert |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
kann mir jemand mal ein Beispiel für die ARGB Variable geben, welche zum Beispiel WritePixel verlangt, und wie die gebildet wird? Ich komm irgendwie nicht dahinter, Forumsuche war auch erfolglos...Read Pixel spuckt bei mir immer maximal 8 stellige Zahlen aus, manchmal auch kleinere - wie sollen denn da RGB und Alpha drin sein? Da bräuchte man doch 12 Stellen zu? Sind das etwa Hex Werte, siehe anderer Thread unten? EDIT Oops,zu schnell gepostet, Ich schau mal in den Color zu Hex Thread, das scheint genau mein Problem zu sein ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vor allem wär er einfach das umgekehrte von dem was erst gerade dir oder jemand anderem erklärt wurde bezüglich hex -> rot grün blau ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blitzbase.de hat Folgendes geschrieben: So wird ein Farbcode abgespeichert: Es wird ein Integerwert übergeben. Ein Integerwert besteht aus 4 Byte. Das erste Byte (von rechts!) gibt den Blauanteil einer Farbe wieder, das zweite Byte den Grünanteil und das dritte Byte den Rotanteil. Die Farbanteile sind Werte im Bereich von 0-255. Das vierte Byte gibt den Alpha-Wert wieder. Alpha ist ein Transparenzwert, der erst ab Blitz3D voll verfügbar sein wird. Es sind Werte zwischen 0 (transparent) bis 255 (normal) möglich. Blitz2D kann keine Transparenz darstellen, somit hat es den Wert 255. Bis V1.53 gab es keinen Alphawert. FF FF FF FF - Farbcode in einem Integerwert Blauanteil 0-255 (0h-FFh) Grünanteil 0-255 (0h-FFh) Rotanteil 0-255 (0h-FFh) Beinhaltet ab V1.53 Alpha-Information 255 (FFh) Erst ab Blitz3D ist Alpha voll verfügbar!!! Berechnung der Farbanteile aus einem Farbcode: a=(rgb AND $FF000000)/$1000000 r=(rgb AND $FF0000)/$10000 g=(rgb AND $FF00)/$100 b=rgb AND $FF Berechnung des Farbcodes aus den Farbanteilen: rgb=a*$1000000 + r*$10000 + g*$100 + b Berechnung der Farbwerte ohne Alpha: rgb2=rgb AND $FFFFFF War für mich auch immer ein Problem. :> |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst dir das hexadezimale auch ersparen, wenn du es einfach um 8 bit verschiebst.
argb->a,r,g,b a=argb shr 24 and 255 r=argb shr 16 and 255 g=argb shr 8 and 255 b=argb and 255 a,r,g,b->argb argb=a shl 24 + r shl 16 + g shl 8 + b shl=shift left shr=shift right dahinter die zahl, um wie viele bit du es verschieben möchtest. Mit Alpha hast du also 32 bit zum speichern. 31-24 = Alpha 23-16 = Rot 15-8 = Grün 7-0 = Blau So einfach geht das ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Foppele |
![]() Antworten mit Zitat ![]() |
---|---|---|
StepTiger hat Folgendes geschrieben: So einfach geht das
![]() Also, wenn mein Bruder mir das nicht erklärt hätte, hätt ich's glaub ich nicht geschnallt...geht irgendwie schwer rein ins Hirn wenn man sein Leben lang mit normalem Dezimalsystem gerechnet hat. Aber jetzt nachdem ichs kapiert habe, sieht's ganz einfach aus... P.S. das mit dem um 8 Bit verschieben versuch ich morgen mal, mir raucht echt der Schädel - nicht lachen,aber was für erfahrene Programmierer Pillepalle ist, kann nem Anfänger schon einiges abverlangen, ich schätze mich sonst eigentlich nicht als besonders schwer von Begriff ein... Danke für die Hilfe ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group