Page 2 sur 2
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Publié : lun. 02/févr./2015 9:52
par Micoute
Bonjour à tous, et pourquoi ne pas créer la fonction ABVR(Alpha.i, Bleu.i, Vert.i, Rouge.i) ?
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Publié : lun. 02/févr./2015 10:33
par falsam
Micoute a écrit :Bonjour à tous, et pourquoi ne pas créer la fonction ABVR(Alpha.i, Bleu.i, Vert.i, Rouge.i) ?
Pour quoi faire ? Obtenir une valeur Hexa plus facilement (ça me parrait pas possible) ? ou bien serais tu hors sujet ? ou alors est ce moi qui ne sait plus dans quel état j'erre ?
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Publié : lun. 02/févr./2015 12:50
par djes
Ce sujet montre bien qu'il y a un problème de compréhension.
La couleur est envoyée telle quelle aux fonctions de dessin natives du système.
Celles-ci attendent parfois un format RGB, parfois BGR (sur d'anciennes cartes graphiques par ex), parfois avec l'alpha, parfois sans. Il faut aussi penser au passé et au futur. Aujourd'hui les composantes sont sur 8 bits, demain elles seront (comme avec le HDR) sur 32 bits.
Quand on code en C, il faut aller chercher dans des structures de l'OS (ou de l'API graphique) quel est le format à utiliser.
Alors on se dit qu'il faudrait que PB donne quelques informations sur ce qui est attendu, pour formater correctement la couleur (comme avec les fonctions sur la résolution écran...).
Le choix qui a été fait par l'équipe est plus simple, c'est celui des fonctions RGB() et RGBA() : elles formatent correctement la couleur en fonction des composantes.
Donc clairement, si on ne veut pas avoir trop de problème, il est nécessaire d'utiliser ces fonctions. Pour aller plus vite, il est possible de stocker le résultat de RGB() dans une variable.
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Publié : lun. 02/févr./2015 13:33
par Fig
DrawingBufferPixelFormat()
ca existe non ?
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Publié : lun. 02/févr./2015 13:49
par djes
Fig a écrit :DrawingBufferPixelFormat()
ca existe non ?
Oui, et ça permet de belles optimisations quand on fait de l'accès direct ! Par contre, il faut se casser un peu la tête.
L'utilisation des fonctions est quand même plus pérenne : si un nouveau format apparaît (128 bits par exemple), DrawingBufferPixelFormat() va renvoyer une constante inconnue, et le code qui ne prend en charge que les formats actuels risque de ne plus être compatible. Il faudra se replonger dedans et l'adapter.
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Publié : sam. 07/févr./2015 14:40
par TimProd
Encore merci pour toutes ces contributions.
Les arguments de la compatibilité avec de futures versions de PureBasic et des évolutions matérielles ou de SE l'emportent.
Ce sera donc RGB.
Priorité aux facilités de maintenance sur la durée, j'aurai de toutes façons plein d'autres choses à optimiser.
Cordialement.