Utilizando la herramienta pngcrush disponible con apt-get y creando un pequeño shell script podemos optimizar todas las imagenes .png que queramos dentro de un árbol de directorios recursivamente.
El script requiere como parámetro el path a partir del cual se buscarán los ficheros y por seguridad no permite especificar el path raíz de nuestro linux.
Ojo que sobreescribe los ficheros, así que tener cuidado y haceros copia de seguridad por si acaso :)
Aquí os dejo el script para optimizar recursivamente todas vuestras imagenes png.
#!/bin/sh
if [ $# -lt 1 ]
then
echo "Missing path parameter to search into"
exit 2
fi
if [ "$1" = "/" ]
then
echo "root folder is not allowed"
exit 2
fi
read -p "Crush all PNG files under $1 folder? yes / no ?" answer
if [ "$answer" != "yes" ]
then
echo "Cancelled"
exit 2
fi
echo "Looping inside $1"
for png in `find $1 -name "*.png"`
do
echo "crushing $png"
pngcrush "$png" temp.png
mv -f temp.png $png
done;
Nota: la linea pngcrush podeis personalizarla a vuestro gusto, por ejemplo añadiendo -brute para que la compresion sea superior (aunque mucho más lento).
He conseguido aproximadamente un 10% de reducción sin usar brute básicamente porque no me apetece esperar varias horas (eran cientos de ficheros)
Espero que os sirva :)
Artículos de opinión, videos de humor, música, tecnología, cosas extrañas, críticas, trailers de películas y ocio en general
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
jueves, 1 de noviembre de 2012
domingo, 10 de mayo de 2009
Juegos en linux
Aquí os dejo un par de juegos bastante buenos para Linux
Juego de artillería (estilo worms) http://www.scorched3d.co.uk/
Juego tipo command and conquer http://wz2100.net/
Juego de artillería (estilo worms) http://www.scorched3d.co.uk/
Juego tipo command and conquer http://wz2100.net/
Etiquetas:
juegos,
juegos gratuitos,
linux,
scorched 3d,
warzone
lunes, 17 de noviembre de 2008
Error fopen - permiso denegado
Abres tu navegador en linux y...
es > function:fopen failed to open stream - permission denied
en > function:fopen failed to open stream - permiso denegado
Éste mensaje de error es muy habitual cuando estamos reutilizando código, o probando nuestro servidor web por primera vez con algún tipo de CMS o librería de terceros.
Hoy mismo me ha vuelto a suceder, instalando una librería que realizaba un append a un fichero de texto cualquiera sobre mi servidor "xampp" sobre Ubuntu.
¿Por qué?
Éste error puede suceder, o bien por tema de permisos o bien por tema de rutas. Puede daros bastantes dolores de cabeza si os ofuscáis intentando aplicar una solución y no funciona... así que probar las dos al menor problema.
Solución permisos: chmod sobre los ficheros afectados
Solución rutas: la mejor solución es asegurarse de que estamos indicando correctamente la ruta al fichero, puesto que dependiendo de si es una ruta absoluta o relativa, fopen tendrá acceso o no a él. La mejor opción es utilizar la variable predefinida de PHP $_SERVER["DOCUMENT_ROOT"] acompañado de la ruta relativa dentro del servidor web hacia nuestro fichero en cuestión.
Es decir, si quiero escribir sobre el fichero situado en htdocs/dir/test.txt le enviaré a fopen el parámetro $_SERVER["DOCUMENT_ROOT"]."/dir/test.txt"
Si ésto falla, quizás sea porque DOCUMENT_ROOT no está bien definido.
Saludos
es > function:fopen failed to open stream - permission denied
en > function:fopen failed to open stream - permiso denegado
Éste mensaje de error es muy habitual cuando estamos reutilizando código, o probando nuestro servidor web por primera vez con algún tipo de CMS o librería de terceros.
Hoy mismo me ha vuelto a suceder, instalando una librería que realizaba un append a un fichero de texto cualquiera sobre mi servidor "xampp" sobre Ubuntu.
¿Por qué?
Éste error puede suceder, o bien por tema de permisos o bien por tema de rutas. Puede daros bastantes dolores de cabeza si os ofuscáis intentando aplicar una solución y no funciona... así que probar las dos al menor problema.
Solución permisos: chmod sobre los ficheros afectados
Solución rutas: la mejor solución es asegurarse de que estamos indicando correctamente la ruta al fichero, puesto que dependiendo de si es una ruta absoluta o relativa, fopen tendrá acceso o no a él. La mejor opción es utilizar la variable predefinida de PHP $_SERVER["DOCUMENT_ROOT"] acompañado de la ruta relativa dentro del servidor web hacia nuestro fichero en cuestión.
Es decir, si quiero escribir sobre el fichero situado en htdocs/dir/test.txt le enviaré a fopen el parámetro $_SERVER["DOCUMENT_ROOT"]."/dir/test.txt"
Si ésto falla, quizás sea porque DOCUMENT_ROOT no está bien definido.
Saludos
martes, 22 de abril de 2008
Bug en Ubuntu 8.04
He probado ubuntu 8.04 pre-release y he instalado los drivers restringidos de nvidia...
Lamentablemente, a resoluciones altas la tasa de refresco del monitor me queda limitada a 50hz y noto un gran cansancio en la vista... y con una resolucion de 1024x768 aparece distorsion en la imagen...
Así que he decidido quitar dichos drivers y retornar a los genéricos... mi sorpresa a sido que synaptic ha fallado al intentar borrarlos y después de dicha incidencia ha dejado de funcionar correctamente (el gestor de paquetes)... dejándome aislado de nuevas actualizaciones y descargas.
He estado trasteado y aquí teneis la solución temporal que he encontrado... un manual fix ;)
Aquí mi post
Lamentablemente, a resoluciones altas la tasa de refresco del monitor me queda limitada a 50hz y noto un gran cansancio en la vista... y con una resolucion de 1024x768 aparece distorsion en la imagen...
Así que he decidido quitar dichos drivers y retornar a los genéricos... mi sorpresa a sido que synaptic ha fallado al intentar borrarlos y después de dicha incidencia ha dejado de funcionar correctamente (el gestor de paquetes)... dejándome aislado de nuevas actualizaciones y descargas.
He estado trasteado y aquí teneis la solución temporal que he encontrado... un manual fix ;)
Aquí mi post
Suscribirse a:
Entradas (Atom)