Decoding een RGB-waarde


  Share  
|


U wilt de rode, groene en blauwe componenten uittreksel uit een RGB-waarde teruggegeven door Color.getRGB ().

Gebruik de bitshift rechts en bitgewijze en exploitanten.

U kunt een van de rode, groene en blauwe componenten van de interne RGB-waarde teruggegeven door Color.getRGB () met behulp van de bitshift rechts (>>) en bit-gewijze AND (&) exploitanten. U kunt een uittreksel of meer van de kleuren afzonderlijk als volgt:

/ / Maak de Color object. My_color = new Color (myMovieClip);
/ / Haal de huidige RGB-kleur. Rgb = my_color.getRGB ();
/ / Rgb bevat een RGB waarde in decimale vorm, zoals 14501017 (roze roze), / / die intern wordt opgeslagen als de hexadecimale equivalent, zoals 0xDD4499. Rood = (rgb>> 16), groen = (rgb>> 8) & 0xFF; blauw = rgb & 0xFF;

Hoewel weergegeven als een decimaal getal, bedenk dan dat elke kleur intern wordt opgeslagen in de hexadecimale vorm: 0xRRGGBB. Is bijvoorbeeld de kleur waarde 14501017 (die roze is roze) intern opgeslagen als 0xDD4499. In dit formaat, gemakkelijk het is om te zien dat de rode component DD in hex (221 in decimalen), de groene component is 44 in hex (68 in decimalen) en de blauwe component is 99 in hex (153 in decimalen).

De voorgaande transformatie scheidt effectief een 24-bits waarde in haar drie 8-bit componenten (de meest linkse acht bits vormen rood, de middelste acht bits vormen groen, en de meest rechtse acht bits vormen blauw). De bitshift recht operator wordt gebruikt om de acht bits van belang verschuiving naar de meest rechtse positie. Met behulp van de operator AND bitsgewijs met 0xFF behoudt zich het meest rechtse acht bits alleen effectief maskeren af ongewenste bits aan de linkerkant.

In de praktijk is het vaak gemakkelijker te gebruiken Color.getTransform ()-waarin de rode, groene en blauwe componenten worden teruggestuurd als aparte eigenschappen van een object te transformeren tot een clip kleur te bepalen. Bovendien getTransform () ook geeft de alpha-waarde voor een kleur, die getRGB () niet

een artikel afkomstig van Elis Frugalo


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions