-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgenera_lienzo_triangulos.sh
101 lines (85 loc) · 2.9 KB
/
genera_lienzo_triangulos.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/bash
function muestraayuda_genera_lienzo_triangulos() {
echo -e "\e[1mNOMBRE\e[0m"
echo -e "\t genera_lienzo_triangulos - Genera un lienzo con triángulos dibujados."
echo ""
echo -e "\e[1mSINOPSIS\e[0m"
echo -e "\t genera_lienzo_triangulos.sh "
echo -e "\t genera_lienzo_triangulos.sh -an 1920 -al 1080 nombredelfichero.png"
echo ""
echo -e "\e[1mDESCRIPCIÓN\e[0m"
echo -e "\t \e[1mgenera_lienzo_triangulos\e[0m Genera un lienzo con triángulos aleatorios dibujados."
echo -e "\t Se le puede indicar la altura con «-al» o «altura» y el número de píxeles que se desea para la altura del lienzo."
echo -e "\t Para indicarle la anchura, acepta los parámetros «-an» o «anchura»."
echo -e "\t En caso de que no se le indique anchura o altura, se usará 1920 y 1080 como respectivos valores por defecto."
echo -e "\t Escribiendo un nombre de fichero, se utilizará éste como nombre del fichero a generar."
echo ""
echo -e "\e[1mPARÁMETROS\e[0m"
echo -e "\t [ \e[1m-an\e[0m | \e[1manchura\e[0m ] Genera un lienzo de la anchura indicada. Si no se le indica anchura, el valor por defecto es 1920"
echo -e "\t [ \e[1m-al\e[0m | \e[1maltura\e[0m ] Genera un lienzo de la altura indicada. Si no se le indica altura, el valor por defecto es 1080"
echo -e "\t \e[1mnombredelfichero.png\e[0m Indica el nombre del fichero que se generará con el lienzo. Si no se le indica un nombre de fichero, el valor por defecto es «lienzo_laberinto.png»."
}
function genera_lienzo_triangulos() {
# Genera un lienzo lleno de triángulos aleatorios.
while [[ $# -gt 0 ]]
do
case $1 in
-h|ayuda)
muestraayuda_genera_lienzo_triangulos
exit 0
;;
-al|altura)
let altura=$2
shift
shift
;;
-an|anchura)
let anchura=$2
shift
shift
;;
*)
# Si tiene un punto «puede» que sea el nombre de un fichero.
if [[ "$1" == *"."* ]]
then
ficherosalida=$1
fi
shift
;;
esac
done
if [[ ! $anchura ]]
then
let anchura=1920
fi
if [[ ! $altura ]]
then
let altura=1080
fi
if [[ ! $ficherosalida ]]
then
numeroficheros=$(ls lienzo_triangulos* | wc -l)
if [[ $numeroficheros = "0" ]]
then
ficherosalida="lienzo_triangulos.png"
else
let numeral=$numeroficheros+1
ficherosalida="lienzo_triangulos_"$numeral".png"
fi
fi
# Asignar valores aleatorios.
. genera_valores.sh
valores=$(genera_valores 5 0 100)
instruccion="gmic "$anchura","$altura",1,3 fx_crystal_background "$valores" -output "$ficherosalida
eval $instruccion
echo $valores
# Comprueba que se ha generado con éxito.
if [[ -f $ficherosalida ]]
then
# Devuelve el nombre del fichero generado por si se quiere almacenar en una variable
echo $ficherosalida
else
exit -1
fi
}
genera_lienzo_triangulos $*