Como convertir un pack de iconos a escala de grises

Nota: Aviso, al probarlo con otros temas de iconos, me he dado cuenta de que no vale para todos los sets de iconos. Pero si que tal vez sirva para alguno de los que usas habitualmente. En mi caso mi set de iconos preferido es Ieos7 y ahi me ha funcionado sin problemas.

Hace unos días vi una imágen de un tema de Escritorio de Ubuntu y me parecio bastante interesante.

my_current_desktop__mac_os_x__bnw_ubuntu_theme__by_sebastiangolebiowski-d87eura

Así que me pregunte. Yo uso un determinado tema de iconos, ¿podría convertirlo a escala de grises? y generarme un tema a medida como el de la imagen anterior. La respuesta es si.

De hecho podemos convertir la mayoría de pack de iconos, los iconos no dejan de ser imágenes gráficas y si tenemos
conocimientos suficientes de alguna herramienta de edición de imágenes (como p.ej Gimp) a las malas podríamos
ir icono por icono cambiandolo y generando un nuevo pack. P.ej aplicando un efecto de colorizar y que fueran los
iconos un poco más azules o rosas, o con efectos o con bordes más gruesos (hay infinitas posibilidades).

Yo no quería ir icono por icono editándolo, pues me llevaría bastante tiempo. Además de momento con un efecto
de escala de grises me valdría, así que aquí la solución pasa por usar imagemagick.

$ sudo apt-get install imagimagick

es una tool de linea de comandos que nos permite editar imagenes, y muchas cosas más.

Cuando instalamos un set de iconos, por lo general se crea su carpeta correspondiente en /usr/share/icons
Así que lo que yo hice fue irme a esa ruta como usuario root, sacar primeramente una copia de seguridad
de la carpeta de iconos que voy a modificar (en el caso de que luego me arrepintiera y quisiera tener el set
original de iconos sin tener necesidad de volver a instalarlo).

Después dentro de la carpeta, por lo general en la ruta apps y scalable me encontrare los iconos de las aplicaciones.

iconos_originales

Abro la consola, me logo como usuario root o sudo, y voy a la ruta de la carpeta de los iconos (p.ej: /usr/share/icons/ieos7/apps/scalable) o el que este usando. Ahi dentro creo un directorio p.ej llamado “convert” que es donde voy a dejar los iconos modificados.
Y en la ruta principal, donde están todos los iconos creare también un shell script (recorre.sh) del estilo:

for file in `ls -l`
do
convert $file -colorspace gray convert/$file
done

script_recorre

¿Que hace éste script?

Pues nada, va recorriendo icono por icono de la carpeta y ejecutando el comando convert (de imagemagick) con la opcion “-colorspace gray” para convertirlo
a escala de grises, como no quiero perder el original, voy sacando la copia convertida a la carpeta convert.

Una vez terminado de ejecutar el script, si voy a la carpeta convert, podre ver todos los iconos del set de iconos en escala de grises.

iconos_convertidos

Si me convence el cambio, solo como usuario root me valdria con copiarlos a la ruta original (machacando los iconos de colores
originales) y listo. Y ya tengo un pack de iconos ya en escala de grises.
Voy entonces a preferencias del sistema, selecciono un pack de iconos distintos y luego de nuevo el mio modificado o simplemente reinicio para que pille los nuevos cambios.

Un problema son los iconos en formato .svg que afortunadamente no suelen ser muchos y es que al usar convert se convierten mal y aparecen como un cuadrado completamente negro.
En este caso si que requieren de una edición manual y procesarlos uno a uno. Tal vez también pueda implementarse un script de manera similar a “convert” para dejarlos bien, pero en mi caso utilice gimp.

Lo que yo hago es abrir Gimp. cargar el icono en formato .svg en icono. Entonces aplicar el efecto: Colores > Desaturar
con lo que se me queda ya en gris.
y salvo el icono con el mismo nombre que el que tuviera en .svg pero con extension .png.

convertir_svg_1

aplicar_colores_desaturar
p.ej si el icono original se llamaba places.svg yo lo guardo en el mismo directorio como places.png
y luego ya mas tarde como usuario root, machaco el original .svg por el .png generado, renombrando de .png a .svg
( cp places.png places.svg )

No es lo más adecuado pero a efectos prácticos el icono svg es modificado también a escala de gris y se suele ver correctamente.

De todas formas cualquier mejora o comentario que podáis aportar es bienvenido.

6 Responses to “Como convertir un pack de iconos a escala de grises”


  1. 1 Miguel diciembre 11, 2014 a las 12:47 pm

    Normalmente trabajo en vectorial, así que me ha dolido mucho lo de que consideres que los iconos en SVG son un problema🙂. Para arreglarlo, te regalo dos soluciones que harán que puedas convertir los archivos SVG a escala de grises sin problema.

    La primera solución es cambiar la línea:
    convert $file -colorspace gray convert/$file
    por:
    convert $file -colorspace gray png:convert/$file
    (es decir, simplemente añadir “png:” antes del nombre de la carpeta donde queramos guardar los archivos modificados). Esto hará que ImageMagick trate el archivo como un png, haciendo bien la conversión a grises y ahorrándonos todo ese trabajo con el Gimp.

    Con lo anterior es suficiente, pero si uno quiere convertir archivos SVG manteniendo la posibilidad de que sigan siendo escalables, en lugar de ImageMagick habría que usar Inkscape (creo que viene instalado, si no habría que instalarlo), con lo que en este caso la línea quedaría así:
    inkscape $file –verb=org.inkscape.color.grayscale –verb FileSave –verb FileClose
    Es bastante más lento pero los resultados son mejores.

    OJO, hay que usar *solo una* de las dos soluciones, no las dos.

    Espero que te resulte útil. Un saludo!

  2. 4 frnk diciembre 16, 2014 a las 10:03 am

    Excelente información dada por ambos, suponía que para los PNG harias uso de ImageMagick pero no tenia idea que se podía usar para los SVG Inkscape desde la línea de comandos.

    Aún asi sigo teniendo una duda, como quedaría el comando para asignar un color al tema de iconos, ya sea PNG o SVG?

    Gracias a ambos por los tips.


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
diciembre 2014
L M X J V S D
« Nov   Ene »
1234567
891011121314
15161718192021
22232425262728
293031  

Blog Stats

  • 29,334,789 hits

A %d blogueros les gusta esto: