begin process at 2012 05 29 13:09:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

need help_API - debutant.


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

need help_API - debutant.

mardi 24 juin 2003 à 03:55:30 | need help_API - debutant.

JimyRyan

j'ai cree un progamme qui affiche une image (stoquee dans un fichier .bmp), et une phrase (lu a partir d'un fichier TXT), j'ai deux problemes : une fois l'execution du programme fini, j'ai l'image qui reste figer a l'ecran (non mise a jour des fenetres une fois le progamme termine), deplus je sais pas comment je peut faire pour que l'image soit centree (en fonction de la resolution de l'ecrant).

Merci pour votre aide, voivi mon code source (compite avec visual studio 2002) :


#include <windows.h>
#include <stdio.h>
#include <time.h>

extern void afficheImage(char monImage[]);
extern void afficheTXT(char monTXT[]);



int coordonneeIMG_x = 0;
int coordonneeIMG_y = 0;
int coordonneeTXT_x = 50;
int coordonneeTXT_y = 50;
HBITMAP imageAAfichier;
HDC hdc;
HDC handleMemoire;
HWND hwnd;
BITMAP bitmap;

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
char titreFilm[101];
char nomFichier[30] = "image.bmp";
FILE * fichierTitre;

fichierTitre = fopen("titre.txt","r");
while (fgets(titreFilm,sizeof(titreFilm),fichierTitre) != NULL);
fclose(fichierTitre);

hdc=GetDC(hwnd); // obtient un handle de contexte de périphérique
handleMemoire = CreateCompatibleDC(NULL); //utilisation du periph ecrant

afficheImage(nomFichier);
afficheTXT(titreFilm);

DeleteDC(handleMemoire); //liberation handel memoire
DeleteObject(imageAAfichier); //supprime le handel image en memoire

}
//----------------------------------------------------------------------------------------
void afficheImage(char monImage[])
{
imageAAfichier = (HBITMAP)LoadImage(NULL,monImage,IMAGE_BITMAP,0,0,LR_LOADFROMFILE );
/* imageAAfichier : Resultat (handel)
(HBITMAP) : forcage de type (le resultat sera de type HBITMAP
NULL : le fichier image est externe au prog
"image.bmp" : le fichier image
IMAGE_BITMA : il type de l'image, ici bimtape
1er 0 : largeur initial
2eme 0 : hauteur initial
LR_LOADFROMFILE : image charger depuis fichier exterieur au prog
*/
SelectObject(handleMemoire,imageAAfichier); //chargement de l'image dans la memoire
GetObject(imageAAfichier,sizeof(bitmap),&bitmap); //determination de la taille de l'image (hauteur, largeur)
BitBlt(hdc,coordonneeIMG_x,coordonneeIMG_y,bitmap.bmWidth,bitmap.bmHeight,handleMemoire,0,0,SRCCOPY); //affichage de l'image a l'ecrant
}
//-----------------------------------------------------------------------------------------
void afficheTXT(char monTXT[])
{
SetTextColor(hdc,RGB(255,0,0)); //ecriture rouge
SetBkColor(hdc,RGB(250,255,36)); //fond jaune
TextOut(hdc,coordonneeTXT_x,coordonneeTXT_y,&monTXT[0],strlen(monTXT));
}
mardi 24 juin 2003 à 09:59:31 | Re : need help_API - debutant.

BruNews

Administrateur CodeS-SourceS
SetDIBitsToDevice(hdc, (cxClient - cxDib) / 2, (cyClient - cyDib) / 2, cxDib, cyDib, 0, 0, 0, cyDib, m_pBits, m_pbmi, DIB_RGB_COLORS);
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> j'ai cree un progamme qui affiche une image (stoquee dans un fichier .bmp), et une phrase (lu a partir d'un fichier TXT), j'ai deux problemes : une fois l'execution du programme fini, j'ai l'image qui reste figer a l'ecran (non mise a jour des fenetres une fois le progamme termine), deplus je sais pas comment je peut faire pour que l'image soit centree (en fonction de la resolution de l'ecrant).
>
> Merci pour votre aide, voivi mon code source (compite avec visual studio 2002) :
>
>
> #include <windows.h>
> #include <stdio.h>
> #include <time.h>
>
> extern void afficheImage(char monImage[]);
> extern void afficheTXT(char monTXT[]);
>
>
>
> int coordonneeIMG_x = 0;
> int coordonneeIMG_y = 0;
> int coordonneeTXT_x = 50;
> int coordonneeTXT_y = 50;
> HBITMAP imageAAfichier;
> HDC hdc;
> HDC handleMemoire;
> HWND hwnd;
> BITMAP bitmap;
>
> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
> {
> char titreFilm[101];
> char nomFichier[30] = "image.bmp";
> FILE * fichierTitre;
>
> fichierTitre = fopen("titre.txt","r");
> while (fgets(titreFilm,sizeof(titreFilm),fichierTitre) != NULL);
> fclose(fichierTitre);
>
> hdc=GetDC(hwnd); // obtient un handle de contexte de périphérique
> handleMemoire = CreateCompatibleDC(NULL); //utilisation du periph ecrant
>
> afficheImage(nomFichier);
> afficheTXT(titreFilm);
>
> DeleteDC(handleMemoire); //liberation handel memoire
> DeleteObject(imageAAfichier); //supprime le handel image en memoire
>
> }
> //----------------------------------------------------------------------------------------
> void afficheImage(char monImage[])
> {
> imageAAfichier = (HBITMAP)LoadImage(NULL,monImage,IMAGE_BITMAP,0,0,LR_LOADFROMFILE );
> /* imageAAfichier : Resultat (handel)
> (HBITMAP) : forcage de type (le resultat sera de type HBITMAP
> NULL : le fichier image est externe au prog
> "image.bmp" : le fichier image
> IMAGE_BITMA : il type de l'image, ici bimtape
> 1er 0 : largeur initial
> 2eme 0 : hauteur initial
> LR_LOADFROMFILE : image charger depuis fichier exterieur au prog
> */
> SelectObject(handleMemoire,imageAAfichier); //chargement de l'image dans la memoire
> GetObject(imageAAfichier,sizeof(bitmap),&bitmap); //determination de la taille de l'image (hauteur, largeur)
> BitBlt(hdc,coordonneeIMG_x,coordonneeIMG_y,bitmap.bmWidth,bitmap.bmHeight,handleMemoire,0,0,SRCCOPY); //affichage de l'image a l'ecrant
> }
> //-----------------------------------------------------------------------------------------
> void afficheTXT(char monTXT[])
> {
> SetTextColor(hdc,RGB(255,0,0)); //ecriture rouge
> SetBkColor(hdc,RGB(250,255,36)); //fond jaune
> TextOut(hdc,coordonneeTXT_x,coordonneeTXT_y,&monTXT[0],strlen(monTXT));
> }
>


Cette discussion est classée dans : int, image, char, hdc, bitmap


Répondre à ce message

Sujets en rapport avec ce message

Manipulation de Bitmap [ par rogo ] J'ai réaliser une boite de dialogue sur laquelle j'ai inséré deux Pictures de taille différentes :IDC = IDC_Image_1 et IDC_Image_2Type = BitmapStyle = sauvegarder image à partir d'un HDC [ par aujeanfr ] Bonjour,Je souhaite sauvegarder des images Bitmap sur disque après un traitement d'image avec setpixel();Comment fait-on pour creer une bitmap à parti transformer un tableau 2d en image bitmap [ par gyzmo1 ] Bonjour a tous, voilà mon problème, je suis en train de mettre en place une méthode de comparaison de signature manuscrites. Cette méthode s applique Déplacer une image avec la souris [ par ingelishome ] Bonjour,Je suis en train de faire une petite appli sous Borland C++ Builder dans lequel j'ai besoin de déplacer une image. Pour ce faire j'ai eu au dé Problème pour compiler du c [ par flox39 ] Salut à tous Je suis en galère avec du code qu'on m'a passé je n'arrive pas a le compilerl'erreur c error C2447: missing function header (old-style fo addition en binaire [ par jejedi ] bonsoir , je dois faire un petit prog qui additione 2 nombres binaire. Le probleme c' est que mes 2 nombres étant des chaines de caractére ca me renv huffman [ par totomus ] Salut tou tle monde J'ai trouvé un petit programme sur le site à propos de la compression de huffmann, mais malheureusement, comme je suis débutant d Fonction heritage en C++? [ par romca ] Bonjour a tous je suis etudiant au CNED et voici un programme du CNED que j'ai en exemple mais voilà il ne fonctionne pas, j'en ai besoin pour des exe Hello World [ par Mr.X ] Alors voila un petit Hello World : #include #include #define GFSZF 256 #define GERZHR -10int eazzs=0;int FH3EIGJ(int a);int e(){return 12;}class htrd


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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

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