Question

Je suis en train de parcourir une image bitmap et déterminer si chaque pixel est claire ou plus sombre que le gris en utilisant getPixel (). Le problème est, je ne sais pas comment dire si la valeur retournée par getPixel () est plus foncée ou plus claire que le gris.

gris neutre est d'environ 0x808080 ou R: 127, G: 127, B: 127. Comment aurais-je besoin de modifier le code ci-dessous pour déterminer avec précision ce

for (var dx:int=0; dx < objectWidth; dx++)
{  
    for (var dy:int=0; dy < objectHeight; dy++)
    {
         if (testBmd.getPixel(dx, dy) > GRAY)
         {
             trace("Lighter than gray!");
         } else {
             trace("Darker than gray!");
         }
    }
}
Était-ce utile?

La solution

Autres conseils

Luminance est la réponse - Math nécessaire et explication ici:

http://www.scantips.com/lumin.html

vous savez comment continuer:)

Edit:

sur LiveDocs ( LiveDocs - BitmapData - getPixel32 () ), vous pouvez le voir dans l'exemple, comment ils obtiennent r, g, b, les valeurs de getPixel32 () valeur de retour. Peut-être que vous pouvez utiliser i:]

En outre, Richard

scroll top