begin process at 2012 05 25 11:27:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

modification bitmap


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

modification bitmap

lundi 7 février 2005 à 20:47:44 | modification bitmap

noel70

Membre Club
Bonjour a tous.

Voila, j'essaie depuis un moment de modifier un fichier image (bmp ou jpg),
Dans un premier, j'ai essayer d'afficher cette image dans une fenetre, puis j'ai recuperer ces caracteristique (longueur et hauteur).
Puis en  fonction de ces caracteristiques et  d' une zone de saisis, je voudrais modifier cette image et l'enregistrer.


Pour afficher l'image:

   Dans le fichier ressource

CONTROL "",IDC_PICTUREBOX,"Static",SS_BITMAP,12,92,608,373

   Dans la section .code

invoke BitmapFromFile, addr Filename ; Charge le fichier (chemin)
mov hBmp, eax
invoke CopyImage, hBmp, IMAGE_BITMAP, 800,600,LR_CREATEDIBSECTION ; redimensionne l'image en memoire( 800 pixels=Longueur, 600 pixels=Hauteur)
invoke SendMessage, hPicture, STM_SETIMAGE, 0, eax; envoie le message a la picturebox d'afficher l'image


Pour recupere la la longueur et la hauteur de l'image:
   
   Dans la section .data?

hBmp HBITMAP ?

   Dans la section .code

invoke GetObject, hBmp, SIZEOF bmih, addr bmih ; recupere les information de l'image
mov eax, bmih.bmWidth ; recupere la hauteur et la met dans eax
mov Longueur, eax
mov eax, bmih.bmHeight
mov Largeur, eax

Puis, ce que je voudrais faire, c'est reecrire sur ce fichier (Filename) de nouvelle caracteristique (longueur et hauteur), j'ai esayer ceci, mais ca ne marche pas.

mov ofs.cBytes,SIZEOF OFSTRUCT
mov ofs.szPathName, OFS_MAXPATHNAME
invoke OpenFile, offset Filename, offset ofs, OF_READWRITE
mov hFile, eax

mov bmih.bmHeight,600 ; met 600 pixels dans le parametre de hauteur de bmih
mov bmih.bmWidth,800

invoke WriteFile, hFile,addr bmih, SIZEOF BITMAP, addr nul, 0 ; ecrit dans le fichier (Filename) les nouvelles caracteristiques.

Mais ceci ne marche pas, apres l'ecriture dans le fichier, mon fichier perd toutes ces carcteristiques,
quand je l'ouvre ce fichier apres cette ecriture avec l'apercu des image windows, j'obtiens ce message
Aucun apercu n'est disponible

Si quelqu un pourrait m'aider merci.

samedi 1 octobre 2005 à 02:00:06 | Re : modification bitmap

mygiorgio

Salut l'ami !
Si j'ais bien compri, tu cherches a redimensionner une image ... ?
Si oui, alors,je suis dans le meme cas que toi. et je pense que je peut dir qu'on est pas dans une super position.

Donc déjà l'ami, je pense qu'il ne suffit pas de modifier les en-tetes du fichier pour que l'image soit differente(apparence) (en faite j'en suis sur : les entete son des info permettante de lire le fichier. ce ne sont pas elle qui font l'image a propprement parlé)
Il faut que tu cree un nouveau fichier, et que tu y cree les en-tetes (hauteur , largeur , taille de l'image ...) et l'image  elle meme. Pour cela, tu doit trouver un algorithme qui te permet de "dezoomer"/"zoomer" sur l'image.
Comment faire?!!!!  ... j ne sais pas : prendre a papier , faire des petit carré representant des pixel desinner un truc assé simple (pas trop quand meme) et redesinner ce meme dessin avec une dimension reduite.

Et maintenant , on en est au meme point.

pour commencé, je pense que le plus simple est de prendre une image carré que l'on diminu de mointié
Encore un truc: a la fin de la redimension , il est preferable d'ajouter un legé flou.

PS : si tu trouve un truc , tu me le dit



Cette discussion est classée dans : fichier, image, hauteur, bitmap, bmih


Répondre à ce message

Sujets en rapport avec ce message

comment créer un fichier image d'une disquette sous dos ? [ par hudson ] bonjour,je voudrais savoir comment créer une image d'une disquette sous dos en yincluant mon fichier boot + un fichier kernel...pour faire tourner tou tasm32 [ par jeannot_ ] Salut!J'aimerais executer un prog en asm. Qd je le compile sous dos (le fichier  .asm),  tout est nickel et j'obtiens un fichier  ".obj". Je n'arrive Comment compiler un kernel en C et en asm [ par vinc1008881 ] Bonjour tous le monde Voilà mon problème : Je voudrait faire un petit kernel en C qui contient admettons 2 fonctions- cls- printfCes fonctions, je les Comment faire tourner un vieux fichier ".bas" [ par wouarf ] Bonjour, Je cherche un interpreteur Basic tournant sous Windows 2000 (gratuit si possible) pour refaire tourner un programme ".bas" de 1980 (!).   Ql De-compilateur .com (Programme ms-dos) [ par Demoniaks ] Bonsoir a vous tous, voila je cherche a savoir ou trouver un desassembleur de fichier .com.j'ai essayé W32Dasm, mais lorsque j'ouvre le fichier a desa Probleme ds mon code ki peut m aider?? [ par Gillouille ] voila l'objectif de ce programme c est de comparer deux fichiers de longueur differente et d'y trouver tt les éléments commun kelke soit leur position Fichier [ par RM50Man ] Quelqu un pourrait me donner un exemple , comment lire dans un fichier txt avec l int21hi fo recuperer le texte ds une boucle, si vous avez un ex conc Fichier [ par RM50Man ] Je lis dans un fichier et je reecris ce que g lu dans l autre, mais ca ne m ecrit pas dans le nouveau fichier ce que g lu ds l autre fichier !!!!Si qu HELP NEWBI [ par pepsidrinker ] Slt tlm. Je programme depuis quelque anné en VB, et maintenant, l'heure est venu pour moi d'apprendre ASM. Seulement, je n'ai AUCUNE notion d'ASM. Pou la structure des fichier exe [ par izou ] je veux savoire quelle est le role de la table de relogement dans les fichier exe


Nos sponsors


Sondage...

Comparez les prix

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,499 sec (4)

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