Déterminer si la valeur getPixel () est supérieure ou inférieure à 50% de gris
-
22-09-2019 - |
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!");
}
}
}
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