2012-08-25 1 views
0

Mon nom est Miguel, et j'essaye d'obtenir chaque pixel dans un .bmp, mais jusqu'ici, quand j'initialise le bitmap, il n'a aucune valeur, donc je suppose que je l'ai initialisé mal. Ceci est mon code actuel: (Snippet)c + + Bitmap GDI ne veut pas charger

Bitmap *PerlinImage; 

void OpenPerlinFile() 
{ 
    PerlinImage = new Bitmap((WCHAR*)"C:\\Users\\Utilizador\\Documents\\Visual Studio 2012\\Projects\\Cube3D\\IDTech_JavaOpenGL_Port\\perlinNoise.bmp"); 
} 

// END 

void Initialize(void) 
{ 
    OpenPerlinFile(); 

    Unit tempunit; 
    Color color; 

    int ccount = 0; 
    for (int h = 0; h != PerlinImage->GetHeight(); h++) 
...... 

Maintenant, pouvez-vous regarder mon code, et peut-être prévoir ce que je fais mal.

Merci Vous

Miguel Petersen

+0

Je sais que vous pensez probablement que c'est poli, mais votre nom n'est vraiment pas pertinent à la question. Si vous voulez nous le faire savoir, changez votre nom d'utilisateur. – Cubic

Répondre

0

L'appel de GdiplusStartup est nécessaire. Vérifiez également la valeur de PerlinImage, si ce n'est pas NULL, vous pouvez vérifier l'erreur avec PerlinImage-> GetLastStatus(). Si PerlinImage est NULL, vous pouvez oublier d'appeler GdiplusStartup.

1

En supposant que vous avez le bon chemin, ce qui suit:

PerlinImage = new Bitmap((WCHAR*)"C:\\Users\\Utilizador\\Documents\\Visual Studio 2012\\Projects\\Cube3D\\IDTech_JavaOpenGL_Port\\perlinNoise.bmp"); 

devrait être:

PerlinImage = new Bitmap(_T("C:\\Users\\Utilizador\\Documents\\Visual Studio 2012\\Projects\\Cube3D\\IDTech_JavaOpenGL_Port\\perlinNoise.bmp")); 

Ou, sans l'aide macro:

PerlinImage = new Bitmap(L"C:\\Users\\Utilizador\\Documents\\Visual Studio 2012\\Projects\\Cube3D\\IDTech_JavaOpenGL_Port\\perlinNoise.bmp"); 
+0

Le chemin est correct, j'ai essayé de changer comme tu l'as dit, mais c'est toujours nul. –

+0

@ user1492812 Eh bien, je suppose que vous avez appelé 'GdiplusStartup'. La seule autre chose que je peux penser est que le BMP est dans un format que GDI + ne comprend pas. –