begin process at 2012 05 28 15:35:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

changer la couleur d'une image


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

changer la couleur d'une image

lundi 14 mai 2007 à 09:45:00 | changer la couleur d'une image

jeny87

Bonjour à tous,

Je suis nouvelle sur ce forum pour la simple raison que je viens de commencer mon projet info, je dois raliser un programme en C++ " changer la couleur d'une image"; et je suis vraiment nul en C++ . Je voudrais savoir si vous pouviez m'aider en me donnant des pistes ou des mots clés pour créer une pallete de couleur ainsi qu'introduire une pipette?

Merci à tous!!! bonne journée

Jeny
lundi 14 mai 2007 à 17:46:59 | Re : changer la couleur d'une image

Loki6

Membre Club
tu veux faire un paint en gros ?

Loki
mardi 15 mai 2007 à 15:16:43 | Re : changer la couleur d'une image

jeny87

En fait j'ai commencé par faire un programme capable de charger une image , de la visualiser et de la sauvegarder. Maintenant le plus dure reste à faire, je dois ,une fois l'image affichée , pouvoir cliquer sur une de ses couleurs, là, une palette de couleur s'affiche, et l'utilistateur doit choisir la nouvelle couleur qui remplacera la précédente...
On m'a conseillé d'utiliser CColorDialog, ms je ne vois pas du tout comment faire le lien,entre le clic sur la couleur de l'image et l'ouverture de la boite de dialogue!!!

mercredi 16 mai 2007 à 11:18:40 | Re : changer la couleur d'une image

Loki6

Membre Club
à chaque clic sur ta zone image, déclenche une fonction (évènementielle) tu récupères la position de la souris, tu en déduis la position et la valeur du pixel sur lequel tu as cliqué et tu modifies ton image.

Loki
lundi 21 mai 2007 à 16:02:33 | Re : changer la couleur d'une image

jeny87

Merci pour ta réponse Loki, ms je ne vois pas comment récupérer les valeur RGB de mon pixel? y a t-il une fonction? j'ai vu qu'on pouvait utiliser GetRValue , GetGValue et GetBvalue? ça peut marcher ac ça? si oui pourais tu m'expliquer comment les utiliser, par raport aux coordonnées de ma souris?

merci beaucoup

mardi 22 mai 2007 à 10:26:37 | Re : changer la couleur d'une image

Loki6

Membre Club
là comme ça je ne sais pas s'il existe des fonctions pour récupérer un pixel à l'écran, il faudrait faire quelques recherches sur la msdn et sur le net, mais tu as toujours la solution de faire une transformation de repère pour passer les coordonnées écran en coordonnées image, ensuite tu tapes dans ton tableau de pixels au bon endroit.

mais tu devrais chercher un peu je pense qu'il doit y avoir quelque chose de tout près qui existe déjà.

les fonctions que tu m'as citées sont utilisables lorsque tu possède une variable contenant ta couleur. regarde sur la msdn à COLORREF et RGB qui sont deux macros. ces fonctions te donnent donc la possibilité de récupérer une valeur sur le total mais pas à partir d'une coordonnée. je pense qu'il faut plus se diriger vers du GetPixel ou GetPoint ou autre je ne sais pas trop ce qu'il existe.

bon courage et tiens moi au courant.


Loki
mardi 22 mai 2007 à 14:37:34 | Re : changer la couleur d'une image

jeny87

Donc j'ai fais un truc avec avec GetPixel comme tu me l'as conseillé , ça compile le pb , c'est que je n'ai aucun moyen de vérifier si ça marche, de plus quand je clic ça me ferme tout de suite la fnêtre, j'ai dû oublier quelquechose... pourrais tu me dire si mon code peux fonctionner?

void

CProjetView::OnLButtonDown(UINT nFlags, CPoint point)

{

int PosX;

int PosY;

PosX=point.x;

PosY=point.y;

HDC hdc;

int Couleur_Clic;

Couleur_Clic = GetPixel(hdc,PosX,PosY);

CView::OnLButtonDown(nFlags, point);

}

merci d'avance
 

mardi 22 mai 2007 à 15:16:53 | Re : changer la couleur d'une image

Loki6

Membre Club
Réponse acceptée !
tu crées un pointeur sur un device context qui n'est pas initialisé. autrement dit GetPixel() cherche dans le vent. le paramètre 1 de GetPixel() doit être le même que celui sur lequel tu affiches ton image, sinon ça ne sert à rien.

Plutôt qu'un int, déclare ta variable Couleur_Clic du type COLORREF. la seule différence est que c'est un unsigned int au lieu d'un int (normal les couleurs négatives ça n'existe pas encore).
mais c'est également mieux pour s'y retrouver. tu vois que les COLORREF sont des couleurs au simple coup d'oeil.

enfin pour voir si Couleur_Clic est plausible, tu peux simplement bidouiller un CString et l'afficher dans une MessageBox() :

CString Couleur_str;
Couleur_str.Format(TEXT("R : %d,\nG : %d,\nB : %d"),
    GetRValue(Couleur_Clic),GetGValue(Couleur_Clic),GetBValue(Couleur_Clic));
MessageBox(NULL,Couleur_str,TEXT("Couleur du pixel sélectionné"),MB_OK);


ou plus sympa, faire apparaître un rectangle de la couleur sélectionnée, mais plus long aussi.

tiens moi au courant.

Loki
mardi 22 mai 2007 à 23:41:56 | Re : changer la couleur d'une image

jeny87

Pour mon hdc j'ai réglé mon pb, merci bocoup , par contre quand je clic sur mon image, j'ai bien la fenétre qui s'ouvre, ms les valeur de RGB restent toujours a 255, dc je sais pas si c'est un pb de mon code ou pas...

J'ai une autre petite question ( je suis désolée de te déranger sans arrêt ms rassure toi mon projet se termine bientôt  ), il faudrait maintenant que j'éffectue un balayge de mon imagepour reconnaitre tous les pixels qui ont la même RGB que celui sur lequel j'ai cliqué.
Pour cela j'ai fais une double boucle pour balayer sur la largeur et la hauteur. il faut donc que je fasse ensuite un if " les coordonnée du nouveau pixel sont les même" alors "je change aussi sa couleur". non?
Enfin si l'idée est celle la, comment je déclare les nouvelles coordonnées des pixels que je vais balayer? je n'arrive pas a me représenter la chose yen a telement)...

merci encore:::

jennifer
mercredi 23 mai 2007 à 10:05:28 | Re : changer la couleur d'une image

Loki6

Membre Club
si ton image est blanche, oui c'est normal... sinon c'est qu'il y a un problème dans le code, que tu ne récupères pas ou n'affiches pas les bonnes valeurs de couleur de pixel.

pour ta question, si le but est de modifier la couleur de chaque pixel correspondant au pixel sélectionné alors en effet tu as fait le bon raisonnement.
je ne comprends pas où tu bloques.

Loki

1 2

Cette discussion est classée dans : changer, couleur, image


Répondre à ce message

Sujets en rapport avec ce message

Changer la couleur d'une image en C [ par Superkarl ] Bonjour. J'ai lu ce post [url=http://www.phpcs.com/forum/sujet-JE-VEU-APPLICATION-PHP-AVEC-FORMULAIRE_1424971.aspx]ici_____________[/url] et je vous j changer la couleur d'arriere plan de la fenetre d'éxécution(application console) [ par chezeu ] Bonjour je code une application console sur Dev c++. Je voudrais changer la couleur d'arriere plan de la fenetre d'éxecution, et si possible la couleu Changer la couleur du fond d'un édit [ par ndubien ] Bonjour, Je cherche à savoir comment faire pour modifier la couleur du fond d'un edit dont je connait le HWND. Merci d'avance pour vos réponses Mise en couleur d'image sur une page HTML [ par stephane85700 ] bonjour, Je débute dans la création de site, et j'aimerai un peu de vos lumières pour avancer.Je souhaiterais pouvoir créer une page ou il serait poss Avoir le pourcentage d'une couleur sur une autre [ par pipive ] Salut, Jai des images(black and white. Plus precisement l'objet sur l'image est blanc et le fond de l'image (background) est noir. Ce que je veux fair Changer la couleur d'un ProgressBar [ par PriMe2302 ] Bonjour je voudrais changer la couleur d'une ProgressBar en fonction de son avancement. Je voudrais aussi, afficher un texte en fond de celle-ci Merc changer l'image d'un bouton /QT4 [ par ka3bacha ] Salut tout le monde. Je suis débutant en qt4. j'ai 2 boutons avec images. Je veux en cliquant sur l'un de 2 boutons changer l'image du 2ème. voici mon color image [ par DevMln ] bonjour je cherche comment calculer le nombre de couleur unique qui existe dans une image couleur merci Changer la couleur de fond de son app [ par jb212121 ] BonjourVoila mon souciJe creer une mon app en appelantDialogBox(hInstance, MAKEINTRESOURCE(IDD_APP), NULL, AppDlgProc);Mais je trouve pas le moyen de pixels d'une image couleur opencv [ par noussagh ] salut j'utilise opencv et j'aimerai savoir comment une image couleur est stockée dans la mémoire, est ce que c'est dans une matrice ? si c'est le cas


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales