Copier une partie d'un fichier

jacojacque Messages postés 10 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 25 juillet 2011 - 12 sept. 2007 à 09:47
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 16 sept. 2007 à 21:29
Bonjour, voilà j'ai sur mon disque dur un fichier de 160Mo qui est une matrice d'image (cette matrice represente environ 500 images), dans mon programme je charge en mémoire une partie de la matrice (jusqu'à 2 images) sur lequelle je fais des calculs et je modifie la partie de cette matrice. Mon problème est de sauvegarder la partie que j'ai modifié dans le fichier de 160Mo sur le disque dur sans refaire une copie de toute la matrice en incorporant la partie modifié car la copie de toute la matrice prend environ une minute et demie et comme je fais des calculs en général sur environ 50 images ça serai tres long.

Donc si quelqu'un pouvait m'aider et me dire si c'est possible d'enregistrer au fur et à mesure que j'ai modifier une image de la matrice dans la matrice de 160Mo sans refaire une copie à chaque de toute la matrice car chaque image de la matrice que je traite ne fais pas plus de 300Ko donc faire à chaque fois une copie de toute la matrice pour enregistrer une une si petite modification ce n'est pas la peine.

Si quelqu'un sait comment faire pour enregistrer les modification que j'ai fait sur une partie de la matrice soit refaire toute une copie de la matrice, je suis preneur de toute suggestion à ce sujet.

2 réponses

jacojacque Messages postés 10 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 25 juillet 2011
12 sept. 2007 à 11:10
Pour plus d'information voilà comment je récupère une partie de la matrice que je charge en mémoire et sur lequel je fais des calculs et des modifications:

        private byte[] chargePlan(int numImg)
        {
            int size = picImageWidth * picImageHeight;   //taille d'une image
            imgPointer = basePointer + ((numImg - 1) * size);   //position du premier point de l'image
            byte[] tab = new byte[picImageWidth * picImageHeight];
            fs.Seek(imgPointer, SeekOrigin.Begin);
            tab = br.ReadBytes(plan.Length);
         }

et je voudrais une fonction qui me permet de sauvegarder le Plan que j'ai modifier à la place de celui d'origine.
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
16 sept. 2007 à 21:29
salut,

normalement, il te suffit de te replacer au début de la zone puis d'utiliser WriteBytes...

ShareVB
0
Rejoignez-nous