Comment rassembler des images dans un seul fichier ?

Résolu
Roro8883 Messages postés 70 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 1 février 2008 - 25 nov. 2005 à 20:33
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 26 nov. 2005 à 20:51
La question est dans le titre ....

En fait j'aimerais rassembler plusieurs images en un seul fichier, pour qu'ensuite je puisse les lire en C++... mais je ne sais pas comment les assembler.

J'ai essayer de faire copier/coller dans un seul fichier mais ça marche pas .... normal ... ça serait trop simple !

Donc si qqn sait comment faire ... merci de me répondre.

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 nov. 2005 à 20:51
GetFileSize sur chaqque fichier image, ensuite dans fichier cible
4 octets (le DWORD de GetFileSize)
octets image à suivre
autre DWORD
octets image
etc...

Ensuite pour lire, ultra simple:
DWORD len, r;
BYTE *pmem;
ReadFile(hfl, &len, sizeof(DWORD), &r, 0);
if(r != sizeof(DWORD)) FINI
pmem = VirtualAlloc() de len octets
ReadFile(hfl, pmem, len, &r, 0);
// utilisation de l'image dans pmem
VirtulFree de pmem
et on recommence

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
25 nov. 2005 à 20:57
Qu'est-ce que tu entends par rassembler ?

Coller les images les unes sur les autres, ou à côté au sens graphique ?

Ou alors dans le sens coller les différents fichiers ensemble pour n'en faire qu'un ?


YOYO, @+.
YOYO
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 nov. 2005 à 21:44
Faudrait au moins avoir un DWORD au début de chaque image dans le fichier disant la longueur pour sauter rapide de l'une à l'autre.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
26 nov. 2005 à 00:51
Ou alors une sorte de PAT (picture allocation table) au tout début.



Tu lis les données binaires des fichiers images avec CreateFile (voir
MSDN) que tu ajoutes au fichier final (crée et/ou ouvert avec
CreateFile) gràce à la fonction
SetFilePointer(hFile,NULL,NULL,FILE_END) qui permet d'atteindre la fin
du fichier.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Roro8883 Messages postés 70 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 1 février 2008
26 nov. 2005 à 20:14
J'aimerais copier plusieurs fichiers (en l'occurence des images) dans un seul fichier ... en fait je veut un seul fichier au lieu d'en avoir une dizaine.

Merci pour l'info avec CreateFile... mais comment récupérer les images après ??? Je veux dire comment les séparés de nouveau pour les lire ?

J'ai pa compris l'histoire du PAT, on fait ça comment ?

Merci
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
26 nov. 2005 à 20:16
Suis l'idée de BruNews, ça me paraît simple à mettre en oeuvre et très efficace.

YOYO, @+.
YOYO
0
Rejoignez-nous