Mercurial > libervia-backend
comparison frontends/wix/images/split_card.sh @ 81:104a815bb23f
Tarot game: first draft
- wix: first draft of cards window
- shell script to split cards from Tarot game found on wikimedia commons
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 18 Apr 2010 15:47:10 +1000 |
parents | |
children | 21f83796a293 |
comparison
equal
deleted
inserted
replaced
80:9681f18d06bd | 81:104a815bb23f |
---|---|
1 #!/bin/sh | |
2 #This script split an image with cards, used to split cards from the Tarot deck found on Wikimedia Commons | |
3 #This script work with any resolution on the initial image | |
4 | |
5 dest_dir=cards | |
6 | |
7 get_face_name() | |
8 { | |
9 if [ $1 -le 10 ] | |
10 then | |
11 echo $1 | |
12 else | |
13 case $1 in | |
14 11) echo valet;; | |
15 12) echo cavalier;; | |
16 13) echo dame;; | |
17 14) echo roi;; | |
18 esac | |
19 fi | |
20 } | |
21 | |
22 get_card_name() | |
23 { | |
24 if [ $1 -le 21 ] | |
25 then | |
26 echo "atout_$1" | |
27 elif [ $1 -eq 22 ]; then | |
28 echo "atout_excuse" | |
29 elif [ $1 -le 36 ]; then | |
30 echo "pique_$(get_face_name $(($1-22)))" | |
31 elif [ $1 -le 50 ]; then | |
32 echo "coeur_$(get_face_name $(($1-36)))" | |
33 elif [ $1 -le 64 ]; then | |
34 echo "carreau_$(get_face_name $(($1-50)))" | |
35 else | |
36 echo "trefle_$(get_face_name $(($1-64)))" | |
37 fi | |
38 } | |
39 | |
40 current=`pwd` | |
41 #TODO: check directory presence | |
42 #echo "making directory" | |
43 if test -e $dest_dir | |
44 then | |
45 if test -n "`ls -A $dest_dir`" | |
46 then | |
47 echo "$dest_dir directory exists and is not empty !" | |
48 exit 1 | |
49 fi | |
50 else | |
51 mkdir $dest_dir | |
52 fi | |
53 echo "splitting $dest_dir" | |
54 convert Tarot$dest_dir.jpg -bordercolor black -crop 14x6@ -fuzz 50% -trim $dest_dir/card_%02d.png 2>/dev/null | |
55 cd $dest_dir | |
56 | |
57 #POST PROCESSING | |
58 | |
59 nb_files=`ls -A1 card*png | wc -l` | |
60 num=0 | |
61 idx=0 | |
62 max_w=0 | |
63 max_h=0 | |
64 deleted="" | |
65 for file in card*png | |
66 do | |
67 num=$((num+1)) | |
68 size=`stat -c%s $file` | |
69 width=`identify -format "%w" $file` | |
70 height=`identify -format "%h" $file` | |
71 | |
72 if [ $width -gt $max_w ] | |
73 then | |
74 max_w=$width | |
75 fi | |
76 | |
77 if [ $height -gt $max_h ] | |
78 then | |
79 max_h=$height | |
80 fi | |
81 | |
82 echo -n "post processing file [$file] ($num/$nb_files) | " | |
83 echo -n `echo "scale=2;$num/$nb_files*100" | bc`% | |
84 echo -n "\r" | |
85 | |
86 if test $size -lt 1000 | |
87 then #we delete empty files (areas without card on the initial picture) | |
88 deleted="$deleted$file\n" | |
89 rm -f $file | |
90 else | |
91 idx=$((idx+1)) | |
92 #We use transparency for the round corners | |
93 mogrify -fuzz 80% -fill none -draw "matte 0,0 floodfill" \ | |
94 -draw "matte $((width-1)),0 floodfill"\ | |
95 -draw "matte 0,$((height-1)) floodfill"\ | |
96 -draw "matte $((width-1)),$((height-1)) floodfill"\ | |
97 $file | |
98 #Time to rename the cards | |
99 mv "$file" "$(get_card_name $idx).png" | |
100 | |
101 fi | |
102 done | |
103 echo "\nEmpty files deleted:\n$deleted" | |
104 echo "\nBiggest size: ${max_w}X${max_h}" | |
105 cd "$current" | |
106 echo "DONE :)" |