pozor16
Messages postés1Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention 7 février 2006
-
7 févr. 2006 à 12:21
BunoCS
Messages postés15426Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention28 novembre 2023
-
7 févr. 2006 à 14:57
Une image est composée d'un ensemble de points (des pixels) dont on peut fixer la couleur en donnant la valeur des 4 composantes qui composent une couleur (le Bleu, le Vert, le Rouge et la Transparence). Toutes ces valeurs sont des entiers (bien qu'ils soient de type char) entre 0 et 255. Par exemple pour avoir une couleur de pixels très rouge, il faut donner ces 4 valeurs: 255,0,0,0.
Une image se représente dans un tableau de char à 1 dimension. Dans ce tableau les pixels de l'image (avec 4 composantes Bleu, Vert, Rouge, Transparence) sont rangés en ligne de haut en bas, et de gauche à droite. Par exemple, le tableau {255,0,0,0, 0,255,0,0, 0,0,255,0 ,255,255,255,0} peut representer une image de 4 pixels. Le premier situé en haut a gauche a les composantes 255,0,0,0 (rouge). Le second 0,255,0,0 (vert) est en haut a droite. 0,0,255,0 (bleu) est en bas a gauche. 255,255,255,0 (blanc) est en bas a droite.
Je travaille sur C++ et doit rendre ce travail très rapidement. Mon problème est que je ne comprend pas comment on fait la fonction affiche_point et quel est la taille du tableau d'image.
#include
#include "image.h"
using namespace std;
void affiche_point(int x,int y,
char* img,int width,int height,
char red 0,char green 0,char blue = 255,char alpha=0) {
/*
* COMPLETEZ ICI
* pour que la fonction affiche un point de couleur (red,green,blue)
* à la position (x,y) de l'image img qui a la taille width et la
* hauteur height
*/
}
void affiche_cercle(int x,int y,int rayon,
char* img,int width,int height,
char red 0,char green 0,char blue = 255,char alpha=0) {
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 7 févr. 2006 à 12:27
Une image n'est pas un tableau de char mais de BYTE!!! D'ou le 0 à 255 ( FF en hexa pour retrouver les couleurs HTML).
Sinon je ne comprend pas bien ton problème, ni meme le but de ton projet, et ou est l'erreur s'il y en a une!
BunoCS
Messages postés15426Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention28 novembre 2023102 7 févr. 2006 à 14:57
Le code de KeniiyK est bon... à un facteur 4 près :)
img[4*(x*width+y)+0] = red;
img[4*(x*width+y)+1] = green;
img[4*(x*width+y)+2] = blue;
img[4*(x*width+y)+3] = alpha;
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage