Ecrire dans des fichiers (autre que .txt .bin .ini ...)

Fermé
tinte42 Messages postés 6 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 30 janvier 2014 - 30 oct. 2013 à 17:45
tinte42 Messages postés 6 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 30 janvier 2014 - 5 nov. 2013 à 13:52
Bonsoir à toutes et à tous,

Si je vous écris ce soir, c'est car une question me turlupine un petit peu.

Je m'explique. Nous voulons enregistrer un rapport quant à une image et ses données. Cad :

- enregistrer l'image
- enregistrer l'heure, date, ... d'acquisition de l'image
- enregistrer les données relatives à cette image : Moyenne, écart-type, histogramme, etc.

Cependant, nous aimerions enregistrer tout ceci dans un même fichier tel qu'un .pdf ou un .doc, .docx (ou autre si vous en avez). Plutôt que d'enregistrer un .tif (ou autre format d'image) + .csv .

Peut-on faire ceci en langage C (C et C uniquement, incompatible C++ et C#) ? Même si cela implique une .dll venue d'un autre monde (payant ou gratuit).

Je vous indique ci-dessous quelques infos qui peuvent vous être utiles :
- logiciel utilisé : LabWindows CVI 2012/2013
- pack NI VISION 2012/2013 à disposition
- projet dans le cadre d'un système de vision industrielle

Vous en remerciant par avance, je suis évidemment tout disposé à répondre à vos questions !

Je vous souhaite à tous une agréable soirée,

Martin.
A voir également:

3 réponses

Moi, ce que je te conseillerai, c'est que tu écris ton programme en C, et que tu enregistre un .html. Tu peux travailler avec un .txt, et le mettre en .html, ça ne demande qu'une seul commande.

De plus, avec le .html il est très facile de gérer les images et les textes.
1
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 5/11/2013 à 10:31
À noter qu'il est également possible d'encoder directement une image en base64 et de l'écrire dans le code HTML. Ce qui permet de ne manipuler qu'un seul fichier.
0
Bonjour,

Merci de ta réponse. Je ne connaissais pas l'html (ni le CSS (besoin pour pas rendre un truc horrible quand même)) du coup il a fallu que je regarde un petit peu mais ça n'a pas l'air compliqué. Un peu lourd d'écrire dans une chaîne de caractère toutes les balises mais s'il faut passer par là ..

Ok pour les images, le texte ou encore les tableaux, mais qu'en est-il des graphiques par exemple ? Si on a les données de l'histogramme mais qu'on veut afficher l'histogramme ? (peut-être que ce n'est pas possible je n'en sais rien je demande on sait jamais...)

Merci d'avance,

Martin.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
4 nov. 2013 à 11:27
Puisque tu pars sur du Html / CSS, tu pourrais générer dynamiquement ces graphes avec une bibliothèque Javascript. Par exemple : flot, basée sur jQuery.


Dal
0
nar6du14 Messages postés 459 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 7 décembre 2013 64
4 nov. 2013 à 18:09
il faut bien comprendre la solution proposée:

1) le ficher html en lui même ne contiendra pas d'image et encore moins d'histogramme mais, juste des balises et les portions de textes: heure, moyenne écarts type.

2) c'est le rendu effectué par le navigateur du fichier html qui présentera tous les éléments souhaités à savoir: l'image, l'histogramme et toutes les métadonnées nécessaire.

en gros, ce que tu auras à la fin c'est:

1 dossier contenant:

-1 ficher html: contenant des liens vers les images et histogrammes ainsi que les méta-donénées
-1 dossier renfermant: images et histogramme

et pour avoir le rendu souhaité, il te faudra nécessairement un navigateur web!

cela présente quelques inconvénients:
1) il faudra gérer un dossier au lieu d'un seul fichier!
2) pas très joli pour l'archivage à partir d'une base de données (chemin vers dossier au lieu de chemin vers un unique fichier).


Une autre solution plus lourde mais plus aboutie, plus propriétaire, plus sécurisée est de définir
un format de fichier: structuration des données dans le fichier ainsi qu'une extension pour ce type de fichier.
pour lire ce type de fichier, il te faudra évidemment construire une interface graphique qui sache comment récupérer les données dans ce fichier et comment les afficher.

Pour ce type d'application tu as Gtk3 entièrement en C...
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
5 nov. 2013 à 00:56
Salut nar6du14,

La proposition de evifalcon a un mérite non négligeable : la (relative) simplicité de mise en oeuvre.

Pour la bibliothèque flot, dont j'ai donné le lien, elle va générer dynamiquement l'histogramme à partir de données qui sont incluses dans le source.

Les textes: heure, moyenne écarts type, seront dans le source.

Intégrer l'image dans le code source serait aussi possible (en Html ou en CSS https://en.wikipedia.org/wiki/Data_URI_scheme#Examples ... si on y tient), même si ce n'est pas très recommandable.

Les données sont facilement accessibles dans un format ouvert, et le résultat (relativement facilement) faisable et affichable avec un navigateur, et exportable, réutilisable par une autre personne dotée d'un navigateur supportant les standards du Web.

Dans ton cas, "pour avoir le rendu souhaité", il faudra ton application.

Enfin.., moi je serai plutôt partit sur la génération de PDF... mais se coltiner la génération des histogrammes ne va pas être simple.


Dal
0
tinte42 Messages postés 6 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 30 janvier 2014
5 nov. 2013 à 13:52
Bonjour à tous,

Merci d'avoir porté attention à mon problème !

Par manque de temps (client bien pressé), on ne peut se permettre pour l'instant d'y passer du temps.

J'ai donc utilisé la première solution qu'on m'a proposé,à savoir fichier html appelant l'image. J'enregistre donc à chaque fois (ils ne font pas des rapports toutes les 10s non plus, donc c'est pas forcément problématique) l'image en .jpg, puis je créé mon fichier html avec la balise correspondant à l'affichage de l'image. Concernant les graphs, j'ai utilisé une méthode un peu barbare : quand il clique sur 'faire un rapport', j'affiche le graph rapidement dans un panneau indépendant, puis je fais un copie d'écran de ce panneau que j'enregistre en .jpg. Puis le fichier html vient récupérer cette image.

Bon qu'on se le dise, c'est vraiment tiré par les cheveux .. Mais en temporaire, ça va bien.. Je garde au chaud toutes vos idées pour quand nous aurons un peu plus de temps devant nous. A ce moment là, je reviendrais vers vous pour vous faire part des résultats.

Merci beaucoup,

Cordialement,

Martin DELABRE.
0