Différence entre les formats d'image RGB888 et ARGB8888
je suis nouveau dans le traitement d'image et le développement de jeux. Je suivais un tutoriel dans lequel il suggère d'utiliser l'image de fond de format RGB888
et pour les sprites, les boutons et d'autres reste les icônes, il vous suggérons d'utiliser ARGB8888
format.
la différence la plus fondamentale est Qu'il y a des Bits RGB888
est 24bit ARGB8888
est de 32 bits.
alors je veux savoir quelle est la différence réelle entre ces deux formats et comment ils agissent dans la représentation visuelle?
3 réponses
plus de détails sur l'espace de couleur sur Wikipédia plus d'information sur les bitmaps sur Développeurs Android Documentation. lpha, R ed, G reen et B les canaux lue sont représentés. Le canal alpha indique le niveau de transparence dans l'image. Le '8' dans le nom fait référence au nombre de bits par canal. Donc RGB est 8+8+8 = 24 bits, et ARGB est 8+8+8+8 = 32 bit.
Dessin RGB
va vous permettre de choisir la couleur de l'image, soit, RGB888
suppose une valeur alpha de 255
. Ajouter la valeur Alpha en utilisant ARGB8888
vous permettra de régler vous-même la transparence avec un nombre entre 0 (entièrement transparent) et 255 (entièrement opaque). Un exemple d'ajout de transparence mal à un menu dans Android serait quelque chose comme l'image ci-dessous:
RGB888
24 bits, 8 bits. Les deux formats que vous mentionnez sont 8 bits par canal, mais un a trois canaux et un a quatre.
La différence est que ARGB
ajoute un canal alpha qui spécifie l'opacité de chaque pixel. C'est comme ça qu'on obtient des images semi-transparentes.
RGB
est le même que ARGB
avec une hypothèse implicite que la valeur alpha est 255, ou, en d'autres termes, complètement opaque.
A
- Alpha
R
Rouge
G
Vert
B
Bleu
La différence est que ARGB
ajoute un canal alpha qui spécifie l'opacité de chaque pixel. En l'utilisant, vous pouvez obtenir des images semi-transparentes/superpositions.
RGB888
24 bits, 8 bits.
Il a Trois canaux avec 8 bits par canal,
ARGB8888
Il a Quatre canaux avec 8 bits par canal.
la valeur Alpha est 0-255, où 0 est entièrement transparent et 255 est entièrement opaque.
ARGB_8888
Documentation dit: Chaque pixel est stocké sur 4 octets. Chaque canal (RGB
et alpha pour la translucidité) est stocké avec 8 bits de précision (256 valeurs possibles.) Cette configuration est très flexible et offre le meilleur qualité. Il doit être utilisé dans la mesure du possible.