C++ de la Conversion d'un flotteur à un unsigned char?
Je suis novice en C++, et de faire un peu de recherche sur google j'ai pensé sprintf
pour faire le travail, mais j'obtiens une erreur lors de la compilation que je ne peux pas convertir entre une unsigned char
et un char
. J'ai besoin d'un unsigned char, car je vais imprimer dans un fichier image (RGB 0-255).
unsigned char*** pixels = new unsigned char**[SIZE];
vector<float> pixelColors;
...
sprintf(pixels[i][j][k], "%.4g", pixelColors.at(k));
(pixelColors a une taille de 3 " et " k "se réfère à une "boucle" variable)
Voulez-vous convertir un float en une chaîne de caractères? Ou voulez-vous imprimer la représentation binaire d'une valeur flottante?
J'ai édité mon poste principal. J'ai un 3D dynamique de tableau de unsigned char et que vous souhaitez stocker la valeur de l'octet pour chaque flotteur.
Attendez, vous voulez dire que vous allez envoyer l'image des données à l'imprimante? Si oui, alors vous aurez à regarder de CUPS (Common Unix Printing System) ou l'équivalent windows.
Comme d'autres l'ont dit - ce qui est de la plage de la flotte? Est-il 0,0 à 1,0, ou quelque chose d'autre? Vous allez avoir besoin à l'échelle de la flotte de la plage à la unsigned char gamme.
Non, juste un fichier image. @Jeff De 0 À 255
J'ai édité mon poste principal. J'ai un 3D dynamique de tableau de unsigned char et que vous souhaitez stocker la valeur de l'octet pour chaque flotteur.
Attendez, vous voulez dire que vous allez envoyer l'image des données à l'imprimante? Si oui, alors vous aurez à regarder de CUPS (Common Unix Printing System) ou l'équivalent windows.
Comme d'autres l'ont dit - ce qui est de la plage de la flotte? Est-il 0,0 à 1,0, ou quelque chose d'autre? Vous allez avoir besoin à l'échelle de la flotte de la plage à la unsigned char gamme.
Non, juste un fichier image. @Jeff De 0 À 255
OriginalL'auteur Steve | 2010-10-10
Vous devez vous connecter pour publier un commentaire.
J'imagine que les flotteurs sont dans la fourchette de 0,0 ... 1.0, vous ne comme ceci:
La variable reduc sont désormais 128.
EDIT: exemple complet, de la sortie d'image Nette PPM format.
}
J'espère que cela vous aide. Vous pouvez lire à ce sujet Les formats Netpbm sur wikipédia.
EDIT2: L'image de sortie est clair dans le texte.
Le résultat se présente comme suit:
(Minuscule, n'est-ce pas? modifier la ligne 16 à 512x512 ou quelque chose)
Et la sortie réelle est: est-ce
OriginalL'auteur Frank
Pas sûr, qu'est-ce que votre exigence exacte [ puisque vous didnot coller un extrait du code .. comme Greg demandé ], l'exemple suivant peut résoudre :
OriginalL'auteur Roopesh Majeti