IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

probleme utilisation getpixel


Sujet :

Windows

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 79
    Points : 46
    Points
    46
    Par défaut probleme utilisation getpixel
    bonjour à tous,

    voici mon probleme, j'ai regardé sur la msdn de microsoft pour l'utilisation de la fonction Getpixel, mais l'exemple qu'il donne ne fonctionne pas dans mon projet, il parle de l'utilisation de la classe .net framework, mais je ne sais pas comment l'ajouter à mon projet, L'exemple suivant est destiné à une utilisation avec Windows Forms et nécessite PaintEventArgs e, qui est un paramètre du gestionnaire d'événements Paint.

    J'utilise Visual basic C++, et je ne sais pas comment ajouter cette classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public void GetPixel_Example(PaintEventArgs e)
    {
    
    // Create a Bitmap object from an image file.
    Bimap myBitmap = new Bitmap("Grapes.jpg");
    
    // Get the color of a pixel within myBitmap.
    Color pixelColor = myBitmap.GetPixel(50, 50);
    
    // Fill a rectangle with pixelColor.
    SolidBrush pixelBrush = new SolidBrush(pixelColor);
    e.Graphics.FillRectangle(pixelBrush, 0, 0, 100, 100);
    
    }
    Merci de m'expliquer pourquoi ce programme ne marche pas et comment faire pour ajouter cette classe .net framework pour faire fonctionner ce programme ??

    Merci d'avance pour votre aide !!

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Visual Basic C++ n'existe pas.
    C'est du C#, ce code ? Voici ce que ça devrait donner en C++/CLI (traduction littérale non-testée) :

    Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //Version "dans la classe Form1" (.h)
    public:
    	void GetPixel_Example(PaintEventArgs^ e)
    	{
    		// Create a Bitmap object from an image file.
    		Bimap^ myBitmap = gcnew Bitmap(L"Grapes.jpg");
    
    		// Get the color of a pixel within myBitmap.
    		Color pixelColor = myBitmap->GetPixel(50, 50);
    
    		// Fill a rectangle with pixelColor.
    		SolidBrush^ pixelBrush = gcnew SolidBrush(pixelColor);
    		e->Graphics->FillRectangle(pixelBrush, 0, 0, 100, 100);
    	}
    Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //Version "dans le .cpp"
    void Form1::GetPixel_Example(PaintEventArgs^ e)
    {
    	// Create a Bitmap object from an image file.
    	Bimap^ myBitmap = gcnew Bitmap(L"Grapes.jpg");
    
    	// Get the color of a pixel within myBitmap.
    	Color pixelColor = myBitmap->GetPixel(50, 50);
    
    	// Fill a rectangle with pixelColor.
    	SolidBrush^ pixelBrush = gcnew SolidBrush(pixelColor);
    	e->Graphics->FillRectangle(pixelBrush, 0, 0, 100, 100);
    }
    PS: Il n'est pas question ici d'ajouter une classe, mais une fonction membre.
    Ne pas oublier d'ajouter l'événement qui convient.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    merci pour la réponse, mais je n'arrive pas à utiliser ce code, voila comment j'ai procédé :

    dans le fichier main.cpp, j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #include <windows.h>
    #include <stdio.h>
    #include <conio.h>
    #include <fstream.h>
    #include "Form1.h"
    
    void Form1::GetPixel_Example(PaintEventArgs^ e)
    {
    	// Create a Bitmap object from an image file.
    	Bimap^ myBitmap = gcnew Bitmap(L"Grapes.jpg");
    
    	// Get the color of a pixel within myBitmap.
    	Color pixelColor = myBitmap->GetPixel(50, 50);
    
    	// Fill a rectangle with pixelColor.
    	SolidBrush^ pixelBrush = gcnew SolidBrush(pixelColor);
    	e->Graphics->FillRectangle(pixelBrush, 0, 0, 100, 100);
    }
    
    
    void main (void)
    {
    	printf ("pas d'erreur");
    }
    et voila ce que j'ai mis dans le fichier Form1.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //Version "dans la classe Form1" (.h)
    public : void GetPixel_Example(PaintEventArgs^ e)
    	{
    		// Create a Bitmap object from an image file.
    		Bimap^ myBitmap = gcnew Bitmap(L"Grapes.jpg");
    
    		// Get the color of a pixel within myBitmap.
    		Color pixelColor = myBitmap->GetPixel(50, 50);
    
    		// Fill a rectangle with pixelColor.
    		SolidBrush^ pixelBrush = gcnew SolidBrush(pixelColor);
    		e->Graphics->FillRectangle(pixelBrush, 0, 0, 100, 100);
    	}
    merci de m'aider à utiliser ce code, voila ce que m'indique les erreurs :
    "error C2143: syntax error : missing ';' before 'public'"
    "error C2065: 'PaintEventArgs' : undeclared identifier"...

    Merci d'avance pour votre aide !

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 667
    Points
    10 667
    Billets dans le blog
    3
    Par défaut
    Si tu fais de la prog Win32, c'est ce GetPixel la:
    http://msdn2.microsoft.com/en-us/library/ms532282.aspx

    Tu veux l'utiliser dans quel context ?

Discussions similaires

  1. probleme utilisation classe java dans jsp
    Par prosper76 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 11/10/2006, 09h31
  2. [DLL]Probleme utilisation DLL
    Par bubulle63 dans le forum Windows
    Réponses: 4
    Dernier message: 07/09/2006, 13h35
  3. probleme utilisation fonction split
    Par Lnmex dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/07/2006, 16h40
  4. probleme utilisation de iis
    Par seb833434 dans le forum IIS
    Réponses: 2
    Dernier message: 15/06/2006, 17h19
  5. Probleme utilisation d'Objets managé grace a gcroot
    Par pepefourras dans le forum MFC
    Réponses: 4
    Dernier message: 16/05/2006, 00h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo