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
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|