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

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

charger un bitmap dans un screensaver


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

charger un bitmap dans un screensaver

lundi 17 avril 2006 à 09:19:58 | charger un bitmap dans un screensaver

Batman60

bonjour
est-ce qu'il est possible de charger un bitmap dans un screensaver autrement que de le mettre dans le fichier ressources

j'ai essayé ca ,mais ca ne charge pas

#include <windows.h>
#include <stdio.h>
#include "classTextureBmp.h"

TextureBitmap::TextureBitmap()
{
}

TextureBitmap::~TextureBitmap()
{
}

void TextureBitmap::Init(HINSTANCE hInst)
{      
    glEnable(GL_TEXTURE_2D);
  LoadTexture("PHOTOS//photo1.bmp",hInst,1);
    LoadTexture("PHOTOS//photo2.bmp",hInst,2);
    LoadTexture("PHOTOS//photo3.bmp",hInst,3);
    LoadTexture("PHOTOS//photo4.bmp",hInst,4);
    LoadTexture("PHOTOS//photo5.bmp",hInst,5);
    LoadTexture("PHOTOS//photo6.bmp",hInst,6);    
}

unsigned char* TextureBitmap::inverseRGB(unsigned char* data, long nbre, int type)
{
 long i=0;
 int index;  
 unsigned char temp;
 while (i<nbre-1)
 {
   index=i*(type/8);
   temp=data[index];  
   data[index]=data[index+2];
   data[index+2]=temp;
   i++;   
 }  
 data[nbre]=0;
 return data; 
}

bool TextureBitmap::LoadTexture(LPTSTR szFileName, HINSTANCE hInst,GLuint texture )     
{
 HBITMAP hBMP;             
 BITMAP BMP;             
 unsigned char* pData;
 long nData;
    glGenTextures(1, &texture_name);          
 hBMP=(HBITMAP)LoadImage(hInst, szFileName, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION );

 if (!hBMP)             
  return FALSE;          

 GetObject(hBMP, sizeof(BMP), &BMP);
                   
 pData=(unsigned char*)BMP.bmBits;
    nData=BMP.bmWidth*BMP.bmHeight;
    pData[nData]=0; 
             
    pData=inverseRGB(pData,nData,BMP.bmBitsPixel);
 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);       
 
 glBindTexture(GL_TEXTURE_2D,texture);        
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
    
    gluBuild2DMipmaps(GL_TEXTURE_2D, 3,BMP.bmWidth,BMP.bmHeight,
    GL_RGB, GL_UNSIGNED_BYTE,pData);                  
   
 DeleteObject(hBMP);            

 return TRUE;             
}

dans main.cpp:
LRESULT MsgCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
....................code opengl ect....
Images.Init(hInst);
}
merci d'avance

lundi 17 avril 2006 à 10:37:35 | Re : charger un bitmap dans un screensaver

vecchio56

Administrateur CodeS-SourceS
Pour lire un fichier externe, tu dois modifier ton LoadImage:

LoadImage(hInst, szFileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE);
lundi 17 avril 2006 à 11:16:16 | Re : charger un bitmap dans un screensaver

Batman60

merci vecchio56
mais avec LoadImage(hInst, szFileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE);
j'ai un rapport d'erreur microsoft
lundi 17 avril 2006 à 11:20:31 | Re : charger un bitmap dans un screensaver

vecchio56

Administrateur CodeS-SourceS
C'est très certainement dans le code qui figure après le LoadBitmap qu'il y a un problème
Tu est sur que ta fonction inverseRGB est correcte?
lundi 17 avril 2006 à 11:24:07 | Re : charger un bitmap dans un screensaver

Batman60

je sais pas trop pour inverseRGB
mais entre temps j'ai essayé ca
hBMP=(HBITMAP)LoadImage(hInst, szFileName, IMAGE_BITMAP,
                    BMP.bmWidth,BMP.bmHeight , LR_LOADFROMFILE | LR_DEFAULTSIZE);
les bitmaps s'affiche pas ,mais j'ai plus de rapport d'erreur
lundi 17 avril 2006 à 11:29:49 | Re : charger un bitmap dans un screensaver

vecchio56

Administrateur CodeS-SourceS
Et que renvoie LoadImage dans les deux cas?
lundi 17 avril 2006 à 11:32:02 | Re : charger un bitmap dans un screensaver

Batman60

ha oui aussi
si je met les bitmaps dans le fichier ressources(.rc) comme ceci:
A BITMAP "PHOTOS//photo1.bmp"
B BITMAP "PHOTOS//photo2.bmp"
C BITMAP "PHOTOS//photo3.bmp"
E BITMAP "PHOTOS//photo4.bmp"
D BITMAP "PHOTOS//photo5.bmp"
F BITMAP "PHOTOS//photo6.bmp"
ca marche mais il se retrouve dans l'exe on ne peut plus les changer
donc si ca fonctionne comme ca ,bin pour le
inverseRGB il doit etre bonje crois??
lundi 17 avril 2006 à 11:38:56 | Re : charger un bitmap dans un screensaver

Batman60

excuse moi j'en suis qu'un débutant
que veut tu dire par que renvoie LoadImage dans les deux cas?
pour info je compile avec dev-cpp,et ce code je n'arrive pas à le debugger en mettant un point d'arret
pourtant je l'ai déja fait avec d'autre code
lundi 17 avril 2006 à 11:43:12 | Re : charger un bitmap dans un screensaver

vecchio56

Administrateur CodeS-SourceS
Je voulais dire que vaut la valeur retournée par LoadImage (hBMP)
Effectivement si ca marche avec les mêmes bitmaps en ressource c'est que le code doit être bon...
Quand tu as ton erreur, a quel endroit survient-elle?
lundi 17 avril 2006 à 11:51:16 | Re : charger un bitmap dans un screensaver

Batman60

l'erreur dont je parle c'est un message  d'erreur de windows et non pas sur le compilateur.
mais maintenant je ne l'ai plus après avoir modifier loadimage comme ceci:
hBMP=(HBITMAP)LoadImage(hInst, szFileName, IMAGE_BITMAP,
                    BMP.bmWidth,BMP.bmHeight , LR_LOADFROMFILE | LR_DEFAULTSIZE);
mon screensaver fonctionne ,mais sans afficher les bitmaps

1 2 3

Cette discussion est classée dans : bmp, gl, hinst, texture, texturebitmap


Répondre à ce message

Sujets en rapport avec ce message

problème de chargement de bitmap [ par Batman60 ] bonjour y a pas moyen de charger des bitmaps avec  la fonction :gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight,    GL_RGB, GL_UNSIGNED_ opengl multitexturing->melanger 2 textures [ par dletozeun ] bonjour, C'est la deuxieme fois que je poste pour le multitexturing mais cette fois ci ca se precise... voila mon probleme: J'essais , de melanger d OpenGL map blending [ par dletozeun ] bonjour, Dans mon projet je genere un terrain sur lequel j'applique une texture (roche par exemple) avec opengl. Maintenant je voudrais gerer le mult mouvement de texture [ par aymardhb9 ] Slt , j'ai un petit pb. En fait , j'ai texturé une plaque sur un terrain  pour donner une impression de lac mais j'aimerais faire bouger la texture , Probleme d'alpha avec SDL_ttf [ par vladisback ] Je suis entrain de m'arracher les cheuveux avec SDL_ttf, j'essai simplement d'afficher du texte de n'importe quelle couleur opaque sur un fond transpa bitmap avec SDL_image? [ par Batman60 ] Bonjour Comment afficher des bitmaps correctement(bonnes couleurs,et image non inversée) avec ce code (SDL_ima problème de transparence sur texture opengl [ par Batman60 ] bonsoirla transparence sur la texture tga ne s'affiche pas, pourtant j'utilise le code ci-dessous et je ne vois pas quoi d'autre à ajouter ou modifier TEXTURE SUR UNE SPHERE TOURNANTE [ par Batman60 ] bonsoirj'ai un problème de texture sur une spherela texture ne  tourne pas et ne prend pas la forme de la sphere ,mais la sphere tournevoic image non chargée [ par aurelivs ] bonjourje cherche a faire une appli en C++ et OpenGL pour charger une image et afficher cette image (puis la transformer). cependant je n'arrive pas à Probléme de textures pour un loader 3DS [OpenGl,DevIl] [ par juliendemomaker ] Bonjour ! Voici mon probléme, je conçois actuellement un loader .3ds en C++ avec OpenGl, le probléme est que quand je charge un model 3D quelconque a


Nos sponsors


Sondage...

Comparez les prix

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,983 sec (3)

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