Ouvrir un .clg

Bon alors j’ai hésité pendant un long moment à savoir si je devais poster dans programmation ou dans SD ^^

Mon problème est le suivant, grâce à CaML (caml-light) j’ai pu créer une image.

Tout fonctionne, l’image est correctement créer, en effet, j’ai fait des tests et je peux, toujours via caml ouvrir l’image.

Mon problème est le suivant :

Je n’ai trouvé nulle part comment faire pour demander à caml de me rendre une image avec l’extension bmp par exemple (je ne trouve que comment en ouvrir une)

CaML créer une fichier .clg … Qui n’est pas reconnu par gimp, imagemagik, … (j’ai deja essayé de créer les images en rajoutant l’extension .bmp et ça n’a pas fonctionné)

Donc ma question est la suivante : Est-ce que quelqu’un a un moyen pour que je puisse accéder à cette image efficacement ? (pouvoir travailler dessus avec quelque chose d’autre que caml)

Je joins aussi mon image : http://www.mediafire.com/?s7d84j6hfouuza2

merci d’avance

Tu as lu la page 3 de ce pdf ? pauillac.inria.fr/~cheno/lettre/lettre1.pdf Il semble expliquer comment partir d’un bmp.

Sinon j’ai pas trouvé grand chose non plus (François aurait probablement sut).

Ben en fait ça permet à CaML de lire des images bmp pour pouvoir travailler avec.

Moi ce que je souhaite faire, c’est l’inverse …

Sinon là je me débrouille à coup d’imprim écran. Ça marche plutôt bien mais bon, c’est pas très propre ^^

petit up

Tu trouveras chez moi le paquet placeimage qui est un programme en camllight puis ocaml (pour la dernère version) permettant de faire une photomosaïque (chaque pixel du modèle est remplacé par une photo en adaptant les couleurs).

Les sources sont là http://boisson.homeip.net/source/

tu as les différentes versions prend la première ou peut être la seconde pour camllight.

J’ai pas trop trop compris comment je dois m’en servir :017 :017

Tu as la bibliothèsque ppm.ml, regarde la fonction ppm__mat2PPM…

La fonction me sort un ppm, mais c’est pas l’image en fait.

J’ai essayé de relire ma “correction” de ppm.ml qui mettait le code en caml-light mais je pense pas avoir fais de bêtises :083

Je laisse ci-joint mon code (avec le .ppm qui en sort)

http://www.mediafire.com/?kc7g5a05xn0utvi

main.ml est ma fonction principale
ppm.ml est ton fichier que j’ai modifié pour camllight
plot.ml contient “plot : (float->float)->unit” qui trace une fonction float->float
Mario.ml est une fonction “dessine mario : unit” qui dessin un mario

Le .ppm qu’on voit est censé être un mario :confused:

Cette après midi je vais essayer de lire attentivement chacun des bouts de ton code et de les comprendre, ça m’aidera je pense :unamused:

En tout cas merci de ton aide :smiley:

Désolé c’est ma faute, une erreur toute bête ^^ (j’avais confondu create_image avec get_image)

Ça marche =D=D (je te joins le code au cas ou tu es intéressé par la traduction pour camllight.

En tout cas mille merci ! :smiley: :smiley: :smiley: :smiley:

http://www.mediafire.com/?doyl4yp1vo84dpe

Si tu avais pris la première ou la deuxième version de placeimage, tu aurais eu ppm.ml pour camllight, placeimage était initialement en camllight… Cela dit la traduction n’est pas très longue…

En fait placeimage m’a sorti des erreurs que je n’ai pas réussi à rectifier …

[code]#if ( vect_length argv) = 5 then
Entrée interactive:

let motif = Ppm.charge_PPM “/tmp/__local” in
^^^^^^^^^^^^^^
L’étiquette charge_PPM n’est pas définie.[/code]

Et le code … je ne le comprends pas trop trop donc je ne voyais pas comment m’en servir :think: .

Suite à ça je me suis dis qu’en effet, je pouvais regarder directement dans le fichier ppm.ml

(et tu as raison, la traduction n’est pas une tâche difficile ni longue :wink: )

Effectivement, tu as récupéré la version Ocaml. La version camllight est cellà: boisson.homeip.net/source/placei … 0-1.tar.gz

Oups :blush:

Avec le nouveau fichier ça marche :023

Petit problème avec le makefile (qui ne rend rien :confused: , du coup pas de ppm.zi)

tt@debian-tt:~/Bureau/placeimage-1.0$ make rm *.zi *.zo *~ rm: impossible de supprimer « *.zi »: Aucun fichier ou dossier de ce type rm: impossible de supprimer « *.zo »: Aucun fichier ou dossier de ce type rm: impossible de supprimer « *~ »: Aucun fichier ou dossier de ce type make: [clean] Erreur 1 (ignorée) for i in placeimage; do if test -f $i; then rm $i; fi; done
Mais pas un gros problème car en regardant le makefile je fais la commande : camlc ppm.mli et ça rend bien le ppm.zi

Pour placeimage il me sort une erreur assez particulière pour la derniere fonction (celle avec le if)

La valeur globale ppm__mat2PPM est utilisée avant d'être définie. Veuillez charger une implémentation du module ppm.

D’ailleur ceci apparaît si je fais :

#open "ppm";; ppm__mat2PPM;;

Mais après c’est sûrement moi qui ai fait une erreur :083

Edit : Ok … Je me suis rendu compte que mat2PPM était reconnu et j’ai remplacé ppm__mat2PPM par mat2PPM

J’ai cette erreur :confused:

convert.im6: unrecognized option `-stdlib' @ error/convert.c/ConvertImageCommand/2759. Exception non rattrapée: Sys_error "/tmp/__local.ppm: No such file or directory" #

Re-edit : En fait là je compilais avec le logiciel lincaml.
Si j’utilise camlc ça ne rend pas d’erreur !

J’ai fais (comme le suggère le Makefile) :

camlc -custom unix.zo graphics.zo  -lunix -lgraph -ccopt -L/usr/X11R6/lib -lX11  ppm.zo -o placeimage placeimage.ml

En tout cas ce fut très instructif … Merci ! :smiley: