Accueil > Forum > > > > Modification de fichier BMP
Modification de fichier BMP
samedi 14 mai 2005 à 17:44:59 |
Modification de fichier BMP

titio
|
Bonjour, Je souhaite afficher des images bmp, tout en ayant la possibilité de modifier ce fichier. Pour cela, je le charge en memoire, et souhaite donc recuperer un pointeur sur le debut des données. J'utilise le code suivant. En principe, la structure BITMAP, par son membre bmBits devrait me donner ce pointeur, mais la, il est NULL. Comment faire pour recuperer ce pointeur ?
Merci
HBITMAP BitMap,CompatibleBitMap; PAINTSTRUCT ps; HDC hDC; HDC hdcCompatible; HBITMAP bmp,oldBmp; BITMAP infoBmp; void *BitPointeur;
BitMap=(HBITMAP)LoadImage(NULL,"Bitmap.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); BeginPaint(hwnd,&ps); hDC=GetDC(hwnd);
hdcCompatible = CreateCompatibleDC(hDC); GetObject(BitMap,sizeof(BITMAP),&infoBmp);
cxImage = infoBmp.bmWidth; cyImage = infoBmp.bmHeight; BitPointeur=infoBmp.bmBits; //ce pointeur pointe sue NULL...
SelectObject(hdcCompatible,BitMap); BitBlt(hDC,10, 10, cxImage, cyImage, hdcCompatible, 0, 0, SRCCOPY );
ReleaseDC(hwnd,hDC);
EndPaint(hwnd,&ps);
|
|
dimanche 15 mai 2005 à 11:35:32 |
Re : Modification de fichier BMP

sebseb42
|
y a une methode super simple si tu connais deja l'encodage de ton image : dans une bmp, la donnée commence toujours au 54eme octet.
------------------------------------------------------------------ int len; char *buffer; FILE *fd;
fd = fopen("mon_image.bmp", "rb"); // ouverture du fichier fseek(fd, 0, SEEK_END); // positionnement du "pointeur" de fichier a la fin len = ftell(fd) - 54; // obtention de la taille du fichier moins les 54 octets de l'en-tete fseek(fd, 54, SEEK_SET); // positionnement du pointeur au 54eme octet (on zap le header) buffer = malloc(len); // allocation de la taille memoire suffisante pour charger la donner bitmap fread(buffer, sizeof(char), len, fd); // on lit le fichier (a partir de la position 54 due au fseek() precedent) fclose(fd); // on ferme le fichier
// buffer contient la donner bitmap ------------------------------------------------------------------
cette methode est super simple, et fonctionne toujours, apres il faut quand meme lire l'entete si tu veux connaitre la taille de l'image et son format de pixel (8, 16, 24, 32 bits) mais si ton format d'image est predefini et que tu le connais, tu peux faire ca :)
|
|
dimanche 15 mai 2005 à 12:05:27 |
Re : Modification de fichier BMP

titio
|
En effet, j'avais aussi essayé cette methode, mais dans ce cas, comment fait on pour l'afficher ??
|
|
dimanche 15 mai 2005 à 12:23:57 |
Re : Modification de fichier BMP
|
Cette discussion est classée dans : hdc, bmp, pointeur, bitmap, infobmp
Répondre à ce message
Sujets en rapport avec ce message
Hwnd [ par T_Mehdi ]
salut a tous .bon j'ai realiser une fonction qui permet douvrir des fichier bmp et les affichier sur un hwnd preci.le prob est que quand je reduit ou
chargement dynamique d'image (bitmap ?) [ par Gendal67 ]
Bonsoir,J'aimerai savoir si une application peut charger autre chose qu'une image bmp comme une image jpg....genre comme :BMP BITMAP DISCARDABLE "lol.
Mes bitmap se barrent [ par oceax ]
Salut !Voila j'ai fais une boite de dialogue en Win32 et j'ai inséré une bmp à l'aide de LoadBitmap() et pis DrawState(). Ma bitmap s'affiche impeccab
Redimensionnement image Borland C++ [ par jfouquet ]
Bonjour, Je travaille actuellement sous Borland C++ 5. Je suis amené à afficher une image (jpeg,bmp,ico…) dans un TImage bon ça pas de problème. Ma
need help_API - debutant. [ par 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 fo
Pixel vide [ par sabran ]
Salut, Je veux lire la valeur RGB d'un pixel avec GetDIBits. J'ai pris un code que j'ai vu plusieurs fois sur le forum. Tout marche sauf quand je veux
pr d'objet GDI qui augmente, help [ par gege1024 ]
CPaintDC hdc(this);HBITMAP bit;BITMAP bitmap;CRect rect;GetClientRect(&rect); bit= (HBITMAP) LoadImage (NULL,fic_img_abs,IMAGE_BITMAP,0,0,LR_DEFAULTS
bitmap miniature = icon ou bitmap (comme explorateur win ) [ par gege1024 ]
je cherche a faire des bitmap miniature comme pour l'explorateur windows.j'ai un dial où je selectionne des fichiers(uniquement des bmp) , je veux les
Convertion d'un bitmap 8 bits en un bitmal 24 bits [ par SauCisS ]
Bonjour, J'ai parcouru ce forum pour chercher ma réponse, mais sans succès. Alors voici mon problème : Comment à partir d'une image BMP 8 bits niv
redimentionnement d'image, aidez-moi svp [ par sousou_one ]
salut à tous,je veux construire une bitmap par copie d'une région d'une bitmap source, je dois prendre les nouvelles dimensions en sélectionnant la ré
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
ERREUR DE POINTEURERREUR DE POINTEUR par africanwinners
Cliquez pour lire la suite par africanwinners CLISTCTRLCLISTCTRL par dorras7
Cliquez pour lire la suite par dorras7
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|