Extraer imágenes PNG desde iconos ICO

Iconos de casitas a diferentes tamaños

Los ficheros de iconos «.ico» son propios de Microsoft Windows, en cambio el formato «.png» es más propio de la web y de GNU/Linux.

Vamos a ver un procedimiento para convertir muchos ficheros de iconos «.ico» en archivos PNG «.png» mediante el comando icotool.

Luego veremos también cómo borrar los ficheros que nos sobren y cómo renombrar más adecuadamente aquellos ficheros que nos interesen.

NOTA: Si sólo se tratase de convertir un sólo fichero ICO, es más adecuado abrir el icono con el programa GIMP. Cada capa mostrará una de las imágenes contenidas en el archivo ICO. Podemos ocultar las capas que no interesen y guardar el resultado como un archivo PNG.

Los formatos

  • ICO

    El formato de ficheros ICO es un formato de imágenes de mapa de bits usado para iconos de Microsoft Windows. Un fichero ICO almacena una imagen en múltiples resoluciones y profundidades de color.

  • PNG

    El formato de ficheros PNG es una imagen en mapa de bits que no está sujeto a patentes. El acrónimo PNG significa «Portable Network Graphics»

Comandos de consola

icotool

El comando "icotool" extrae varias imágenes PNG de un sólo fichero ICO. Los ficheros PNG se llaman igual que el ICO más una indicación de la resolución y profundidad de color. Por ejemplo, de un fichero "mi icono.ico" podríamos obtener los ficheros "mi icono16x16x8.png", "mi icono32x32x32.png", "mi icono48x48x32.png" y "mi icono128x128x32.png". Ver imagen de ejemplo.

icotool -x *.ico

rm

Para borrar los ficheros que no queramos utilizamos el comando "rm" (remove). En el siguiente ejemplo borramos los ficheros ".ico" y todos los ".png" de las resoluciones 16×16, 32×32 y 48×48 píxeles.

rm *.ico
rm *x16x*
rm *x32x*
rm *x48x*

rename

Para renombrar los ficheros usamos el comando "rename" que es muy completo ya que acepta una expresión regular para realizar el renombrado.

Por ejemplo: Vamos a quitar "128x128x32" del nombre de los ficheros PNG y a cambiar los espacios en blanco del nombre del archivo por un guión bajo. Así un archivo que se llamase ""mi icono128x128x32.png" quedaría como "mi_icono.png".

rename s/128x128x32// *.png
rename s/\ /\_/ *.png

Otros ejemplos de "rename":

Eliminar la extensión ".bak" del final del nombre en todos los archivos ".bak"

rename s/\.bak$// *.bak

Convertir todos los ficheros a minúsculas

rename y/A-Z/a-z/ * 

Comentarios

Proinf.net, ©2003-2017 ci 3.1.5 (CC) Esta obra está bajo una licencia de Creative Commons Este software está sujeto a la CC-GNU GPL