Bonjour,
J'ai une classe template Bmp qui contient une image bitmap. Cette classe peut être instanciée
avec un type ou un type RBG24_t Gray_t.
Le RGB24_t contient:
un champ de 8 bits pour le rouge
un champ de 8 bits pour le vert
un champ de 8 bits pour le bleu
Le Gray_t contient:
-un champ de 8 bits pour l'intensité de gris
Je tiens à ajouter une méthode pour calculer l'intensité moyenne. mais elle doit travailler différemment
selon le paramètre:
Pour RGB24_t:
averageRed = somme de la composante rouge / nb pixels
averageGreen = somme des composante verte / nb pixels
averageBlue = somme des composante bleue / nb pixels
Pour Gray_t:
moyenne = somme de l'intensité de gris / nb pixels
La déclaration devrait ressembler a:
ComputeAverageIntensity int (composant char); / / le composant est «r», «g», «b», «a», où a est pour le gris.
Mais comment la méthode peut-elle connaître le type d'instanciation? Elle doit verifier que le «a» est utilisé uniquement quand Gray_t est utilisé, aucun r, g, b lorsque Gray_t est utilisé, seul r, g, b lorsque RBG24_t.
Vous pouvez proposer une autre mise en œuvre de la méthode, mais je ne peux pas changer le fait que la classe est un template.
je vous remercie!
Partager