[C] Utiliser libjpeg pour du cropping
Résolu/Fermé
Sauvegarde2
Messages postés
205
Date d'inscription
dimanche 14 décembre 2008
Statut
Membre
Dernière intervention
11 janvier 2015
-
11 juil. 2012 à 12:06
Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 - 11 juil. 2012 à 15:52
Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 - 11 juil. 2012 à 15:52
A voir également:
- [C] Utiliser libjpeg pour du cropping
- Utiliser chromecast - Guide
- Utiliser iphone comme webcam - Guide
- Comment utiliser l'ia - Accueil - Guide Intelligence artificielle
- Comment utiliser utorrent - Télécharger - Téléchargement & Transfert
- Comment utiliser wetransfer gratuit ? - Guide
3 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 juil. 2012 à 14:46
11 juil. 2012 à 14:46
Je ne vois pas de boucle dans le code source que tu as donnée.
Je dirai comme ça, qu'il faut remettre le pointeur de fichier au début avant le nouveau quart d'image.
Je dirai comme ça, qu'il faut remettre le pointeur de fichier au début avant le nouveau quart d'image.
Sauvegarde2
Messages postés
205
Date d'inscription
dimanche 14 décembre 2008
Statut
Membre
Dernière intervention
11 janvier 2015
261
11 juil. 2012 à 12:14
11 juil. 2012 à 12:14
Voici l'essentiel de mon code :
/* Déclaration des variables */ FILE* fin, * fout; Uint i, I, j, J; Uint X, Y, W, H; char* tilename; char* zi, * zj; struct jpeg_decompress_struct srcinfo; struct jpeg_error_mgr srcerr; struct jpeg_compress_struct dstinfo; struct jpeg_error_mgr dsterr; struct jvirt_barray_control** srccoef; struct jvirt_barray_control** dstcoef; jpeg_transform_info tranopt; JCOPY_OPTION copyopt = JCOPYOPT_DEFAULT; // Paramétrages divers dont je vous fais grâce /* Préparation de l'image source */ srcinfo.err = jpeg_std_error(&srcerr); jpeg_create_decompress(&srcinfo); // Lancement des deux boucles imbriquées /* Suite de la création de la source ; j'aimerai sortir tout ça de la boucle mais si je le fais ça bug */ fin = fopen(imgpath, "rb"); jpeg_stdio_src(&srcinfo, fin); (void) jpeg_read_header(&srcinfo, TRUE); jcopy_markers_setup(&srcinfo, copyopt); /* Mise au point des paramètres de découpages */ tranopt = *(JPEG_Create_Transform(TRAN_CROP)); JPEG_Set_Crop_Rect(&tranopt, X, Y, W, H); jtransform_request_workspace(&srcinfo, &tranopt); srccoef = jpeg_read_coefficients(&srcinfo); // Création de l'image destination // Application des transformations // Nettoyage et reprise de la boucle
Sauvegarde2
Messages postés
205
Date d'inscription
dimanche 14 décembre 2008
Statut
Membre
Dernière intervention
11 janvier 2015
261
11 juil. 2012 à 15:52
11 juil. 2012 à 15:52
Je n'avais pas écrit les for() pour rester compact. Effectivement un rewind(fin) résout le problème, merci beaucoup :)