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)
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).
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
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
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…
Petit problème avec le makefile (qui ne rend rien , 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
Edit : Ok … Je me suis rendu compte que mat2PPM était reconnu et j’ai remplacé ppm__mat2PPM par mat2PPM
J’ai cette erreur
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 !