[RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
Bonjour à tous, et pourquoi ne pas créer la fonction ABVR(Alpha.i, Bleu.i, Vert.i, Rouge.i) ?
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
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 ?Micoute a écrit :Bonjour à tous, et pourquoi ne pas créer la fonction ABVR(Alpha.i, Bleu.i, Vert.i, Rouge.i) ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
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.
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 ?
DrawingBufferPixelFormat()
ca existe non ?
ca existe non ?
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Version de PB : 6.00LTS - 64 bits
Re: [RESOLU] Fonction RGB ou valeur couleur en hexadécimal ?
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.Fig a écrit :DrawingBufferPixelFormat()
ca existe non ?
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 ?
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.
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.