Comme promis, voici le script. Il est spécifique pour cette exposition-là, mais elle utilise le système Deep Zoom de Microsoft, donc ce script est peut-être adaptable pour d'autres expositions semblables. Il utile wget, curl, xml2 et ImageMagick.
#! /bin/shset -e
if[$# -ne 2 ]thenecho"Usage: 0ドル TITLE ID" >&2
exit 1
fititle="1ドル"id="2ドル"
mkdir "$title"cd"$title"printf'Getting image metadata\n'
wget -q "http://eblouissantsreflets.fr/sites/default/files/deepzoom/${id}.dzi"# Get image parameters from the metadata filetilesize="$(xml2 < "$id.dzi" | grep -F TileSize | cut -d= -f2)"overlap="$(xml2 < "$id.dzi" | grep -F Overlap | cut -d= -f2)"width="$(xml2 < "$id.dzi" | grep -F Width | cut -d= -f2)"height="$(xml2 < "$id.dzi" | grep -F Height | cut -d= -f2)"nx="$((($width-1)/$tilesize + 1))"ny="$((($height-1)/$tilesize + 1))"printf'Determining maximum zoom level\n'
mkdir tmp
cd tmp
# Try to download the first frame of each zoom level from 8 to 15
curl -s "http://eblouissantsreflets.fr/sites/default/files/deepzoom/${id}_files/[8-15]/0_0.jpg" -o "#1"zoom=0
# Check which file were actually downloaded: the last one matches the maximum zoom levelfor file in *
do if[$file -gt $zoom]thenzoom=$filefidoneprintf'Found maximum zoom level: %d\n'"$zoom"cd - >/dev/null
rm -rf tmp
printf'Getting tiles\n'
mkdir -p tiles/orig
cd tiles/orig
# Download all the tiles at the maximum zoom level
curl -s "http://eblouissantsreflets.fr/sites/default/files/deepzoom/${id}_files/$zoom/[0-$(($nx - 1))]_[0-$(($ny - 1))].jpg" -o "#1_#2.jpg"cd - >/dev/null
printf'Ordering tiles\n'
mkdir -p tiles/mine
# Rename the tiles so they are in the correct order for assemblingcd tiles/mine
for i in $(seq 0 $(($nx-1)))do for j in $(seq 0 $(($ny-1)))do
ln "../orig/${i}_${j}.jpg""$(printf '%02d-%02d.jpg' "$j" "$i")"donedonecd - >/dev/null
printf'Assembling tiles\n'
montage -geometry "-${overlap}-${overlap}" -tile "${nx}x${ny}" tiles/mine/*.jpg "$title.jpg"
Il prend en argument le titre de l'œuvre — pour nommer le fichier — et son identifiant, qui est une espèce de hachage qui peut être récupéré dans le code source de page Web correspondante. Par exemple, pour le premier tableau, Champ de tulipes en Hollande — cherchez la chaîne « deepzoom » dans la code source de la page — de Claude Monet :
$ ./rip "Claude Monet - Champ de tulipes en Hollande" 3236ada461be8b4a5384418596c92a80
# Le script
Posté par 🚲 Tanguy Ortolo (site web personnel) . En réponse à la dépêche Éblouissants Reflets, une exposition impressionniste à Rouen. Évalué à 10.
Comme promis, voici le script. Il est spécifique pour cette exposition-là, mais elle utilise le système Deep Zoom de Microsoft, donc ce script est peut-être adaptable pour d'autres expositions semblables. Il utile wget, curl, xml2 et ImageMagick.
Il prend en argument le titre de l'œuvre — pour nommer le fichier — et son identifiant, qui est une espèce de hachage qui peut être récupéré dans le code source de page Web correspondante. Par exemple, pour le premier tableau, Champ de tulipes en Hollande — cherchez la chaîne « deepzoom » dans la code source de la page — de Claude Monet :
$ ./rip "Claude Monet - Champ de tulipes en Hollande" 3236ada461be8b4a5384418596c92a80