Bonjour,
voil� j'ai un soucis, l'objet m_hDC de type HDC, il me dit lors de la compile :
1>.\Bmp.cpp(28) : error C2065: 'm_hDC' : identificateur non d�clar�
Dans la fonction affichage il ne le reconnait pas donc, et le je peux pas faire comme le buffer, enfin j'ai essay� de transmettre son adresse mais �a ne fonctionne pas. Si quelqu'un a une id�e ?
Merci
Form1.cpp (le CODE concern�) (ligne 10 et 36):
Toujours Form1., ligne 10 :
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
26
27
28
29
30
31
32
33
34
35
36
37 public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO : ajoutez ici le CODE du constructeur // m_hDC = GetDC((HWND)this->panel1->Handle.ToPointer()); } protected: /// <summary> /// Nettoyage des ressources utilisées. /// </summary> ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: private: System::Windows::Forms::Button^ button2; private: System::Windows::Forms::Label^ label1; private: System::Windows::Forms::Panel^ panel1; private: /// <summary> /// Variable nécessaire au concepteur. /// </summary> System::ComponentModel::Container ^components; HDC m_hDC;
Bmp.h (la fonction concern�) ligne 18 :
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 #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { //****************************************************************** const int TAILLETOT = 400000; unsigned char *buffer1 = new unsigned char [TAILLETOT]; dlBmp(buffer1); //******************************************************************* affichage(buffer1); } }; }
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 void affichage(unsigned char *buffer1) { unsigned char *buffer2 = (unsigned char *)strstr((char *)buffer1, "BM"); buffer2 = buffer2 + 54; int hauteur = 240; // WARNING ! int largeur = 320; // WARNING ! int nbBits = 3; // car 24 bits = 8B pour chaque couleur RGB ce qui fait 3 octets for (int l=0; l < hauteur; l++) { for (int c=0; c < largeur; c++) { unsigned char b = buffer2[l*largeur*nbBits +c*nbBits]; unsigned char g = buffer2[l*largeur*nbBits +c*nbBits +1]; unsigned char r = buffer2[l*largeur*nbBits +c*nbBits +2]; COLORREF couleur = RGB (r, g, b); SetPixel(m_hDC, c, hauteur -1 - l, couleur); } } }
Partager