les portes du soir
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-24%
Le deal à ne pas rater :
PC Portable Gaming 15.6″ Medion Erazer Deputy P40 (FHD 144Hz, RTX ...
759.99 € 999.99 €
Voir le deal

Pour le fun...

Aller en bas

Pour le fun... Empty Pour le fun...

Message par morbeth Lun 12 Mar - 21:26

Je me suis dit que c'était plus sympa de mettre les photos de la rencontre parisienne en ligne sur un site au lieu d'une archive, donc je viens d'écrire rapidos un petit script pour générer automatiquement le site, c'est très vulgaire au niveau du code (obligation de .jpg, etc...) mais je me dis que ca peut être utile à quelqu'un d'autre un de ces quatre modulo quelques petites réécritures :

let taille_x = 200
let taille_y = taille_x * 3 / 4
let nb_colonnes = 3

let ecrire_entete flux =
Printf.fprintf flux "<html>\n<head>\n<title>Photos</title>\n</head>\n<body>\n<table>\n<tr>\n"

let ecrire_fin flux =
Printf.fprintf flux "</tr>\n</table>\n</body>\n</html>\n"

let creer_petite_image nom =
if Sys.command
(Printf.sprintf "convert -resize %ix%i %s.jpg %s_small.jpg"
taille_x taille_y nom nom) != 0 then
failwith "Pas normal"

let traiter_image flux indice nom_fichier =
if indice <> 0 then
let indice = indice - 1 in
let nom = Filename.chop_extension nom_fichier in
creer_petite_image nom;
if indice mod nb_colonnes = 0 then
Printf.fprintf flux "</tr>\n<tr>\n";
Printf.fprintf flux "<td><a href=\"%s.jpg\"><img src=\"%s_small.jpg\" /></a></td>"
nom nom

let _ =
let flux = open_out "index.html" in
ecrire_entete flux;
Array.iteri (traiter_image flux) Sys.argv;
ecrire_fin flux;
close_out flux;
Printf.printf "Fin.\n"

Pour compiler : ocamlopt

Pour lancer, il faut un shell unix et la package imagemagick et donner à l'executable généré la liste des photos en argument (ex : ./a.out *jpg)
morbeth
morbeth
Les yeux qui brillent...

Masculin
Nombre de messages : 257
Age : 40
Localisation : Entre Jussieu et Paris XVIII
Date d'inscription : 07/01/2007

Feuille de personnage
race: balrog

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum