Guı́a de aprendizaje para estudiantes Curso de Introdución a Linux para Alumnos Guı́a de aprendizaje para estudiantes Curso de Introdución a Linux para Alumnos Miguel Ángel Vilela Garcı́a Jesús Miguel Torres Jorge Carlos Pérez Pérez Tomás Bautista Delgado Carlos Alberto Morales Dı́az Félix J. Marcelo Wirnitzer Sergio Garcı́a Reus Carlos de la Cruz Pinto René Martı́n Rodrı́guez Edı́n Kozo Carlos Mestre González c 2001 – 2003 Grupo de Usuarios de Linux de Canarias Copyright Se da permiso para copiar, distribuir o modificar este documento en los términos que establece la GNU Free Documentation License, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation; las secciones que no pueden modificarse son “Presentación” y “Agradecimientos”, y no existen textos cubierta ni contracubierta. Se incluye una copia de la c de sus autores. licencia en la sección “GNU Free Documentation License”. Este libro es La forma original de este documento es código fuente en LATEX. La compilación de este código fuente en LATEX tiene el efecto de generar una representación del documento independiente del dispositivo, que puede convertirse a otros formatos o imprimirse. La GNU Free Documentation License está disponible en www.gnu.org o soliciándola por escrito a the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Este documento lo han maquetado sus autores utilizando LATEX y The GIMP, que son programas abiertos y libres. A los novatos y novatas en el mundo de GNU/Linux, y a sus familiares, amistades y parejas (ellas y ellos saben por qué) Presentación Historia Desde el curso académico 2001–2002 la Facultad de Matemáticas de la Universidad de La Laguna dispone de sistemas Debian GNU/Linux en las aulas de ordenadores destinadas a impartir clases prácticas. Estas aulas están destinadas a que los alumnos realicen sus prácticas académicas, tales como programación en Pascal, Fortran, C o Java, análisis estadı́sticos o cálculos simbólicos. Sin embargo, los alumnos no disponı́an en su mayorı́a de los conocimientos mı́nimos necesarios para utilizar un equipo bajo sistema operativo GNU/Linux. Ante tal panorama, y con el objetivo urgente de proporcionar a los alumnos la destreza mı́nima que necesitaban para utilizar los ordenadores de la facultad con Debian GNU/Linux, Miguel Ángel Vilela (miembro del Grupo de Usuarios de Linux de Canarias y administrador de los sistemas Debian GNU/Linux de las aulas) propuso paralelamente la realización de un Curso de Introdución a Linux para Alumnos a Sergio Alonso (Vicedecano de Estadı́stica) y a otros miembros del el Grupo de Usuarios de Linux de Canarias. En ambas partes la idea tuvo buena aceptación y en sólo 10 dı́as el Grupo de Usuarios de Linux de Canarias y la Facultad de Matemáticas, con el patrocinio de IDE System Canarias S.L., organizaron la primera edición del Curso de Introdución a Linux para Alumnos. Tras el éxito del Curso de Introdución a Linux para Alumnos (30 inscritos, 27 asistentes y más de 50 alumnos en lista de espera) se organizó la primera edición de la Party de Instalación de Linux para Alumnos, a la que no asistieron tantos alumnos debido (suponemos) a que la asistencia implicaba traer el ordenador personal. Sin embargo, el balance final de ambas actividades se consideró muy positivo, por lo que el Grupo de Usuarios de Linux de Canarias se embarcó en el siguente reto: ampliar el Curso de Introdución a Linux para Alumnos para aumentar el temario (incluyendo la Party de Instalación de Linux para Alumnos). El Curso de Introdución a Linux para Alumnos se ha realizado ya tres años consecutivos en la Facultad de Matemáticas y para los próximos años pretendemos seguir realizándolo, ampliando vii su radio de acción a otras facultades de la Universidad de La Laguna. Este libro es una puerta abierta para que el Curso de Introdución a Linux para Alumnossea realizado en otras universidades y centros docentes. Parte de este proyecto ha sido reformar los apuntes del Curso de Introdución a Linux para Alumnos, inicialmente escritos en SGML (con DTD de LinuxDoc), para traducirlos a LATEX y ası́ generar este libro, que constituye los apuntes del curso. Este libro es una publicación de “contenido abierto”, lo que significa que está abierto a las aportaciones que pueda hacer cualquier persona y seguirá evolucionando con el tiempo. Objetivos El objetivo del Curso de Introdución a Linux para Alumnos y de este libro es el aprendizaje del alumno (o lector), a ser posible de una forma amena. En adelante trataremos de tú tanto al alumno como al lector. Esperamos que no te sientas ofendido. Este libro está dirigido principalmente a usuarios, con un enfoque fuertemente académico. Si hace poco que llegaste al maravilloso mundo de GNU/Linux y necesitas una guı́a práctica para empezar a trabajar, este libro puede resultarte de utilidad. Si además eres estudiante y necesitas hacer tus prácticas en ordenadores con GNU/Linux pero no te orientas aún, este libro puede ser tu salvación. Si ya tienes experiencia con GNU/Linux (no eres un novato) no encontrarás muchas cosas nuevas aquı́, aunque tampoco te vendrá mal leerlo. La finalidad del Curso de Introdución a Linux para Alumnos es que los alumnos adquieran los conocimientos necesarios para utilizar los ordenadores con GNU/Linux en sus prácticas académicas, y tal vez se animen a instalar GNU/Linux en sus propios ordenadores personales. Como se ha mencionado anteriormente, el Curso de Introdución a Linux para Alumnos consta de unas clases teórico-prácticas, en las que los alumnos toman apuntes mientras prueban lo que van aprendiendo con un ordenador delante, y unas jornadas práctico-teóricas en la que cada alumno es invitado a traer su propio ordenador personal para instalar GNU/Linux por sı́ mismo, contando siempre con la ayuda de los profesores. Dada la posible variedad de los alumnos, la cantidad de materia que se desea impartir y las limitaciones de disponibilidad de puestos en las aulas de informática en cuanto a número y tiempo, el Curso de Introdución a Linux para Alumnos se ha dividido en varios módulos, todos ellos opcionales. Las tareas rutinarias de administración y mantenimiento de un equipo bajo sistema operativo GNU/Linux no se tratan en este libro, entre otras razones porque suelen depender mucho de la máquina en la que se practiquen y de las necesitades de su(s) usuario(s). Esta parte del aprendizaje de GNU/Linux es demasiado práctica para un libro como éste. Para esto es mejor comprar algún libro de iniciación a Linux que incluya una distribución de GNU/Linux para instalar. Este tipo de libros se pueden encontrar en casi cualquier librerı́a técnica en variedad para todos los gustos, desde pequeñas guı́as de 10 minutos con CD de instalación rápida hasta libros gruesos de sabidurı́a condensada, elige el que más te guste y reserva grandes ratos en tu agenda. Uno de los motivos por los que publicamos este libro bajo la licencia GNU Free Documentation Licence es porque queremos que tenga toda la divulgación que sus lectores quieran. Este libro no es copyright de ninguna editorial, sólo de los autores, y damos nuestro permiso para que este material sea fotocopiado y redistribuido libremente. Nuestro objetivo es acercar GNU/Linux y sus herramientas a cuantos más alumnos y usuarios sea posible. viii Contenidos Este libro está dividido en módulos atendiendo a la división de contenidos que hacemos a la hora de impartir las clases, los cuales a su vez están divididos en temas, cuyos contenidos resumimos a continuación. TEMA ??: Introducción a GNU/Linux Cuando hablamos de GNU/Linux nos referimos a algo que ha sido formado por un sistema operativo llamado Linux y una gran cantidad de software libre proviniente del proyecto GNU. Daremos un repaso histórico desde los orı́genes de Linux y GNU hasta la actualidad. TEMA ??: El intérprete de comandos El primer mejor entorno de trabajo que puedas encuentrar al entrar en un sistema GNU/Linux es el intérprete de comandos. Aunque cada dı́a es más frecuente entrar a Linux por las ventanas, no debemos dejar de lado la enorme libertad que nos da un intérprete de comandos. Y, aunque no lo parezca, es un entorno sumamente cómodo. TEMA ??: El entorno X-Window El entorno favorito de casi todos los usuarios de computadores es el entorno de ventanas, en el que el ratón y el teclado se suman para dar al usuario libertad y comodidad. Verás que existe una amplia variedad de entornos de ventanas, y aprenderás trucos útiles para cada uno de ellos. TEMA ??: Editores: VIM, GNU Emacs, Joe Una de las tareas más frecuentes que tendrás que hacer frente a un ordenador es escribir en un fichero. Programas, documentos, correos electrónicos, páginas web, tal vez configuraciones de programas. Este tema te enseñará el manejo básico de los editores de texto más usuales en GNU/Linux. TEMA ??: Aplicaciones para Internet Hoy en dı́a un ordenador sin conexión a Internet es algo tristemente aislado. En el caso de GNU/Linux esto se hace más notorio porque es un sistema que ha nacido y crecido a través de Internet, se puede decir que está hecho en y para Internet. Un uso básico de las herramientas para Internet te resultará imprescindible para seguir adelante en tu aprendizaje sobre GNU/Linux, ya que casi todas las respuestas están en Internet. TEMA ??: Documentación y ayuda Cuando te sientas perdido con GNU/Linux y sus herramientas tendrás a tu disposición una amplia ayuda y documentación, aprender a utilizarla es la clave del éxito como usuario del software libre. TEMA ??: Instalación de GNU/Linux ¿Te animas a instalar GNU/Linux en tu ordenador? ¡Felicidades! Ahora bien, antes de atacar la tarea hay unas cuantas cosas que debes saber para que te salga bien. TEMA ??: Administración básica Cuando por fı́n te animes a instalar GNU/Linux en tu propio ordenador tendrás que enfrentarte con la tarea más dura: administrar tu propio sistema, para mantenerlo funcionando. Hay muchos libros dedicados exclusivamente a esta materia, ası́ que en este tema sólo aprenderás lo fundamental para mantener un ordenador personal sin grandes pretensiones. Para aprender más necesitarás dedicarle tiempo y leer bastante. ix TEMA ??: Bash Cuando quieras automatizar algo sencillo puede que sea suficiente un script, que no tendrás que compilar. Bash es el intérprete de comandos más extendido en GNU/Linux, y tiene su propio lenguaje de programación. TEMA ??: StarOffice Si piensas que no podrás sobrevivir en GNU/Linux porque no tiene Word o WordPerfect estás equivocado. StarOffice es una suite ofimática de calidad, potente, que responderás a tus necesidades. Además, como es libre, está disponible en varias plataformas además de GNU/Linux. TEMA ??: El lenguaje HTML Todos los ficheros que aprenderás a manejar en este curso están en formatos libres, de modo que cualquier otra persona puede utilizarlos (al menos leerlos) sin necesidad de comprar ni piratear programas especiales. Con el aprendizaje del lenguaje HTML estarás en condiciones de escribir documentos que cualquier persona podrá leer directamente en la web con su navegador. TEMA ??: LYX Para escribir rápidamente y que quede bien presentado nada mejor que concentrarte en el contenido de lo que escribes y dejar al ordenador que se encarge del trabajo de formato y composición del documento. Lyx está hecho exactamente para eso. TEMA ??: LATEX TEXy LATEX son los lenguajes más potentes que encontrarás para componer documentos de calidad profesional, aunque como era de esperar requiere un cierto esfuerzo de aprendizaje. Sin duda vale la pena, valga como ejemplo el este libro escrito ı́ntegramente en LATEX. TEMA ??: GNU Octave Para casi cualquier cientı́fico se hace muy necesaria la computación rápida de cálculos matemáticos aplicados mediante un lenguaje que permita programar los cálculos. Octave te dará la solución para los cálculos que necesites para fı́sica, ingenierı́a, matemáticas y otras disciplinas. TEMA ??: GNUplot La elaboración de gráficas elaboradas es otra tarea fundamental en el campo de las ciencias, y GNUplot tiene amplias posibilidades para esto. TEMA ??: GNU R Otro lenguaje de cálculo y representación de datos, pero esta vez con capacidades especiales para cálculos estadı́sticos. TEMA ??: Yacas Este lenguaje es diferente, para cálculo simbólico. Esto es especialmente útil en Matemáticas, donde a veces es necesario manipular las expresiones matemáticas sin evaluarlas. TEMA ??: Free Pascal Pascal es un lenguaje de programación ampliamente utilizado en las asignaturas de programación de primer año en ingenierı́as y otras carretas técnicas como Matemáticas y Fı́sica. x TEMA ??: GNU Fortran Fortran es un lenguaje de programación especı́fico para cálculo numérico. Aún se utiliza en entornos cientı́ficos como centros de cálculo o facultades de Matemáticas y Fı́sica. TEMA ??: GNU C/C++ El lenguaje C es sin duda “El” lenguaje de programación por excelencia. GNU/Linux se ha construido mayoritariamente sobre este lenguaje, por lo que conviene saber manejar las herramientas de programación para programar en C. Además es el lenguaje de programación más ampliamente utilizado en prácticas académicas de programación. TEMA ??: GNU Make Cuando un proyecto crece, sea del tipo que sea, siempre viene bien una herramienta que automatice las labores de compilación del código. Esto se aplica no sólo a programas, sino también a libros como éste. TEMA ??: Depuradores La mayor parte del tiempo que dedicamos a programar lo pasamos buscando y corrigiendo errores en el código. Esta tarea te resultará mucho menos ingrata cuando conozcas el estupendo depurador DDD. TEMA ??: GNU gprof Una herramienta muy útil a la hora de optimizar tu código puede ser el profiler de GNU, que te ayudará a encontrar cuellos de botella y otros puntos débiles de tus programas. TEMA ??: Java El lenguaje Java es ampliamente utilizado como lenguaje de programación multiplataforma. Es útil para aplicaciones y applets en documentos HTML. TEMA ??: Expresiones regulares Una de las mejoras ayudas que encontrarás a la hora de programar son las expresiones regulares. Éstas te permitirán filtrar texto para editar tus programas de forma más eficiente, o convertir ficheros con información mal organizada en tablas de datos de información bien organizada. Convenciones tipográficas En la escritura de este libro hemos utilizado algunas convenciones para facilitar su lectura. Usaremos los diferentes tipos de letra para fines determinados: sin adornos: nombres de programas, paquetes, protocolos, lenguajes, etc. También para menús y botones. máquina de escribir: comandos, código fuente, pulsasiones y/o combinaciones de teclas; todo aquello que haya que teclear o leer de la pantalla. itálica: términos nuevos o que haya que resaltar. negrita: elementos de una descripción o aquello que necesite especial atención. xi versalita: para nombres de personas, organizaciones y entidades en general. Cuando hagamos referencia a combinaciones de teclas utilizaremos la siguiente notación: “C-” indica la tecla Control. “S-” indica la tecla Shift. “A-” indica la tecla Alt (a veces llamada Meta). “F1” . . . “F1” son las teclas de función. “ESC” indica la tecla de Escape. “TAB” indica la tecla del tabulardor. “Enter” indica la tecla del retorno de carro. Además, cuando tengamos que mostrar comandos y/o la salida que éstos produzcan lo haremos de la siguiente forma: $ comando salida del comando El sı́mbolo del dólar $ es lo que comúnmente se denomina el prompt del sistema, lo que el intérprete muestra a la espera de nuestras órdenes. En las distribuciones de GNU/Linux actuales no es normal que este prompt sea únicamente el sı́mbolo del dólar, sino que suele contener también el nombre de la máquina, el nombre del usuario, o el directorio en el que nos encontramos. Estos detalles serán explicados en el tema “El intérprete de comandos”. En los temas referentes a lenguajes de programación, documentación o cálculo incluiremos algunos ejemplos de código fuente de programas, scripts o documentos. Estos ejemplos están en el directorio ejemplos del paquete que contiene el código fuente de este libro, cuya localización en internet te facilitamos en la siguiente sección. Estos ficheros se utilizan en las clase teórico/prácticas para aprender el manejo de compiladores y herramientas de cálculo o documentación. Fichero ejemplo.txt Este fichero contiene el ejemplo de ejemplo Su contenido se muestra tal como es el fichero original, incluyendo ta bu la do res y saltos de lı́nea xii Ejemplo 0.1: Éste es un ejemplo de cómo te mostraremos los ejemplos de código fuente. Éstos pueden ser programas, scripts o documentos escritos en diferentes lenguajes como C/C++, Fortran, Pascal, HTML, PHP, LATEX, Octave, GNUplot, R, Yacas, etc. Los ejemplos que aparezcan de este modo estarán disponibles por separado en sendos ficheros cuyo nombre se indica en la cabecera del ejemplo. Ası́ te ahorras tener que teclear los ejemplos a la hora de probar los lenguajes. Cuando necesites buscar uno de estos ejemplos puedes encontrar su página en el ı́ndice de ejemplos de la página xxiii. Sobre este documento Este libro ha sido escrito gracias a la iniciativa de algunos miembros y amigos del Grupo de Usuarios de Linux de Canarias, para el Curso de Introdución a Linux para Alumnos organizado conjuntamente por el Grupo de Usuarios de Linux de Canarias y la Facultad de Matemáticas de la Universidad de La Laguna, en Tenerife (España). Mira en la página xv para saber quiénes participaron en la elaboración de este libro. Como indica la nota de copyright, estos apuntes son libremente distribuibles bajo los términos de la Licencia de Documentación Libre de GNU, lo que a grosso modo significa que se permite su copia, redistribución y modificación siempre que se nombre a los autores originales, no se reclame la autorı́a de trabajo ajeno ni se pierda la libertad de los contenidos. En el apéndice de la página ?? encontrarás una traducción no oficial de la Licencia de Documentación Libre GNU. Para leer la versión original de la GNU Free Documentation License acude a la página oficial del proyecto GNU, http://www.gnu.org/licenses/fdl.html La última versión de estos apuntes se mantendrá en http://cila.gulic.org, tanto su código fuente como las versiones en PostScript y PDF, además de un paquete con los ejemplos por separado. Este libro es un proyecto abierto y en desarrollo, por eso no está completo y posiblemente tarde en estarlo (siempre hay algo que añadir, mejorar, corregir, actualizar, etc.). Si quieres colaborar en él ponte en contacto con nosostros enviando un correo electrónico a la la dirección [email protected]. Nos gustarı́a recibir tus opiniones, correcciones y sugerencias crı́ticas constructivas. Las crı́ticas destructivas serán redireccionadas, como siempre, a /dev/null xiii Agradecimientos Este libro lo hemos escrito miembros y amigos del Grupo de Usuarios de Linux de Canarias; informáticos, estudiantes y/o aficionados con entrega, entre todos unimos nuestros esfuerzos para escribir sobre aquello de lo que mejor entendemos. La Facultad de Matemáticas de la Universidad de La Laguna ha colaborado apasionadamente (y lo sigue haciendo) aportando sus aulas de ordenadores para realizar las sucesivas ediciones del Curso de Introdución a Linux para Alumnos . Desde el Grupo de Usuarios de Linux de Canarias agradecemos además la amabilidad con la que han colaborado en todo momento. Pero este libro no habrı́a llegado a ser lo que es de no ser por las siguientes personas. A todos ellos; muchas gracias. Sergio Alonso, Vicedecano de Estadı́stica en la Facultad de Matemáticasde la Universidad de La Laguna. Acogió amablemente la propuesta del Curso de Introdución a Linux para Alumnosy puso las aulas de ordenadores a disposición del curso. También ha coordinado la publicación de este libro a través del Servicio de Publicaciones de la Universidad de La Laguna. Manolo Garcı́a Román, Secretario de la Facultad de Matemáticasde la Universidad de La Laguna. Brindó una inestimable ayuda en las cuestiones TEXnicas de la elaboración de estos apuntes. También se entregó de modo ejemplar en la organización de las distintas edicioens del curso en el ámbito de la Universidad de La Laguna. Ha coordinado la publicación de este libro a través del Servicio de Publicaciones Universidad de La Laguna. Miguel Ángel Vilela Garcı́a escribió los temas “The GIMP”, “GNU Fortran”, “Yacas”, “R”, además de partes de “Aplicaciones para Internet”, “Editores” y “Aplicaciones diversas”. También retocó la traducción del tutorial de LYX aportada por Sergio Garcı́a Reus para formar el tema “LYX”. xv Jesús Miguel Torres Jorge escribió los temas “El entorno X-Window”, “C/C++”, “GNU Make”, “Bash” y parte de “Aplicaciones para Internet”. Posteriormente añadió abudante contenido a raı́z de los cursos TIC de la Universidad de La Laguna. Carlos Pérez Pérez aportó el tema “StarOffice”. Tomás Bautista Delgado aportó el tema de “LATEX”, resultado de modificar su estupendo manual “Una descripción de LATEX” Carlos Alberto Morales Dı́az escribió los temas de “Octave”, “GNUplot” y parte de “Aplicaciones para Internet”. Félix J. Marcelo Wirnitzer escribió los temas “Introducción a GNU/Linux”, “El intérprete de comandos” y “HTML” y parte de “Administración básica” e “Instalación de GNU/Linux”. Sergio Garcı́a Reus aportó su traducción al castellano del tutorial de LYX. Carlos de la Cruz Pinto escribió con los temas “Emacs”, “Java”, “KDE” y mejoró el tema de “FreePascal”. René Martı́n Rodrı́guez escribió los temas “Instalación de GNU/Linux” y “Depuradores”. Edı́n Kozo colaboró en los temas “Aplicaciones para Internet” e “Instalación de GNU/Linux”. Carlos Mestre González escribió el tema de “Administración básica” y parte de “Editores”. Teresa González de la Fé colaboró con el tema “Aplicaciones diversas”. Luis Cabrera Saúco colaboró con los temas “Introducción a GNU/Linux”, “Aplicaciones para Internet” y “Aplicaciones diversas”. Carlos Alberto Paramio Danta aportó el tema “gprof”. Pedro A. Gracia Fajardo colaboró con el tema “The GIMP”. También agradecemos a todas las personas que nos han animado a seguir con este proyecto: alumnas y alumnos de la Facultad de Matemáticas y otras facultades de la Universidad de La Laguna, compañeros del Grupo de Usuarios de Linux de Canarias, Maribel C. Salgado, Pedro Reina, gente de HispaLinux y alguien más que se nos queda en el tintero (o en el teclado). xvi Índice general 1. The GIMP 1 1.1. Primeros pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Conceptos fundamentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Maniobras básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 xvii Índice de figuras 1.1. Aspecto de The GIMP 1.2 al ejecutarlo por primera vez . . . . . . . . . . . . . . . 2 1.2. Aspecto de The GIMP 1.3 al ejecutarlo por primera vez . . . . . . . . . . . . . . . 3 1.3. Cuadros de diálogo para crear una nueva imagen . . . . . . . . . . . . . . . . . . . 5 1.4. Cuadros de diálogo para guardar una imagen a fichero . . . . . . . . . . . . . . . . 7 1.5. Cuadros de diálogo para exportar una imagen antes de guardarla . . . . . . . . . . 10 1.6. Cuadros de diálogo para tomar una captura de pantalla . . . . . . . . . . . . . . . 11 1.7. Ventanas principales de XSane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.8. Vista previa de una revista en un scanner plano . . . . . . . . . . . . . . . . . . . . 14 1.9. La imagen escaneada adquirida desde The GIMP . . . . . . . . . . . . . . . . . . . 15 1.10. Herramientas de selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.11. Selección realizada con curvas de Bèzier . . . . . . . . . . . . . . . . . . . . . . . . 17 1.12. Selección realizada con tijeras inteligentes . . . . . . . . . . . . . . . . . . . . . . . 18 1.13. Herramientas de transformaciones geométricas . . . . . . . . . . . . . . . . . . . . 19 1.14. Cuadro de dı́alogo para recortar imagen en The GIMP 1.3 . . . . . . . . . . . . . . 20 1.15. Rotación, escalado, cizalladura y perspectiva en The GIMP 1.3 . . . . . . . . . . . . 21 1.16. Herramientas básicas de dibujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.17. Cuadros de información de color seleccionado con la pipeta . . . . . . . . . . . . . 22 xix Índice de tablas xxi Índice de ejemplos 0.1. [ejemplo.txt] Ejemplo de ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii xii TEMA 1 The GIMP The GIMP es el Programa de Manipulación de Imágenes de GNU (The GNU Image Manipulation Program). Es un programa libremente distribuible, útil para trabajos como retoques de fotografı́a, composición y publicación de imágenes. The GIMP ha sido escrito por Peter Mattis y Spencer Kimball, y liberado bajo la Licencia General Pública (GNU General Public License). The GIMP es un programa bastante común en las distribuciones de GNU/Linux, y muy popular entre los usuarios medios/avazanzados de Linux. Para saber más sobre The GIMP o descargarlo visita su página web en http://www.gimp.org. También puede ser de utilidad la traducción al castellano de la Referencia de The GIMP [?]. Sin embargo tan pronto como lo ejecutes encontrarás que su interfaz resulta extraña y no muy intuitiva, con un caracterı́stico estilo que la diferencia de las interfaces de programas similares como el Photoshop de Adobe. La mayorı́a de aplicaciones de manipulación de gráficos tienen una ventana que ocupa toda la pantalla, dentro de la cual se crean nuevas ventanas. Esto es lo que se denomina un entorno MDI. The GIMP por el contrario tiene una pequeña ventana que apenas ocupa espacio en la pantalla, con un escueto menú y los botones de herramientas y diálogos imprescindibles. Esta interfaz produce la sensación a primera vista de que The GIMP no tiene apenas herramientas ni opciones de menú, pero no es verdad. Tan pronto como crees o abras una imagen verás que al clickar con el botón derecho del ratón aparecerá un menú lleno de posibilidades que exploraremos más adelante. Antes de continuar permı́teme una aclaración. Encontrarás en el libro ejemplos duplicados con dos versiones de The GIMP con interfaces diferentes. Cuando esto suceda el primer ejemplo (o de la izquierda) corresponde a la versión 1.2.3 (estable) y el segundo ejemplo (o el de la derecha) corresponde a la versión 1.3.15 (inestable). 1.1. Primeros pasos La primera vez que lo ejecutes verás un diálogo de instalación, que realmente se refiere a la personalización (instalación de usuario) del programa. En este diálogo nos preguntará acerca de la resolución de la pantalla, que suele ser 72 dpi (dots per inch, puntos por pulgada), los directorio 1 2 TEMA 1. The GIMP donde guardar nuestras cosas (brochas, patrones, gradientes, etc) y el directorio de intercambio. Dado que el diálogo está en español resulta muy fácil de seguir. Con aceptar la opción que nos ponga por defecto es suficiente. Si vas a usar The GIMP en una máquina con sistemas de ficheros remotos (como NFS) ten cuidado de no poner el directorio de intercambio (swap) en un sistema de ficheros remoto, porque al trabajar con imágenes grandes sobrecargarı́as la red y tardarı́as mucho más. Cuando finalmente The GIMP se presenta ante nosotros vemos la ventana del “consejo diario”, donde podemos leer trucos y consejos que The GIMP tendrá la amabilidad de enseñarnos. Las otras ventanas (sólo aparecen en la versión 1.2) son la de “selección de brocha”, la de “opciones de herramientas”, la de “capas, canales y caminos”La ventana principal contiene la barra de herramientas y los selectores de color, gradiente y brocha. Figura 1.1: Aspecto de The GIMP 1.2 al ejecutarlo por primera vez 1.2. Conceptos fundamentales Antes de entrar a conocer The GIMP debes tener claros ciertos conceptos y términos que encontrarás con bastante frecuencia en documentos como este y en los diálogos del propio The GIMP . Vamos a darte una introducción a estos conceptos sin entrar en demasiado lujo de detalles. 1.2.1. Mapas de bits Existen varias formas de almacenar imágenes en un fichero, pero The GIMP sólo maneja una de estas formas: la denominada “mapa de bits”. Esta forma de almacenar imágenes en ficheros parte de la idea de que una imagen (rectangular) es una tabla de puntos, cada punto tiene un color Curso de Introdución a Linux para Alumnos 1.2. Conceptos fundamentales 3 Figura 1.2: Aspecto de The GIMP 1.3 al ejecutarlo por primera vez exacto, que es uniforme dentro de él, y es indivisible. Esta tabla de puntos es lo que se denomina un “mapa” de “bits”. Estos puntos se denominan “pı́xeles”. Las imágenes de mapa de bits tienen tamaños enteros; i.e. puedes crear una imagen de 2000 × 2500 pı́xeles, pero no de 20,25 × 25,75 pı́xeles. Insisto en que los pı́xeles son indivisibles, porque son las células o los átomos que componen la imagen. Cada pı́xel tiene un valor entero de 0 a 255 o una terna de valores enteros de 0 a 255, dependiendo el modelo de color que utilice el fichero. 1.2.2. Modelos de colores Cada pı́xel tiene un valor que determina su color, pero no hay una única manera en cómo ese valor determina el color del pı́xel. Las distintas maneras de hacerlo se denominan “modelos de colores”. Veamos los más usuales: RGB son las iniciales de Red, Green, Blue (rojo verde y azul). Este modelo de color se basa en la suma de colores de la luz, que no es la misma que en la pintura. En la luz los colores rojo, verde y azul “suman” blanco; i.e. si iluminaras un objeto blanco con un foco de color rojo puro, otro de color verde puro y otro de color azul puro, verı́as el objeto de color blanco. Si apagaras el foco de color azul lo verı́as de color amarillo, porque en la luz (que no en la pintura) los colores rojo y verde “suman” amarillo. A partir de esta propiedad de la luz, se puede descomponer el color de cada pı́xel en tres componentes que expresan la proporción de rojo, verde y azul que tiene ese color. Estas proporciones suelen expresarse en enteros valores desde el 0 (0 %) hasta el 255 (100 %), ası́ un pı́xel rojo está representado por la terna (255, 0, 0), el color amarillo por la terna (255, 255, 0) y el blanco por la terna (255, 255, 255). c Grupo de Usuarios de Linux de Canarias 4 TEMA 1. The GIMP Este modelo de colores es ideal para los gráficos de mapa de bits generados por ordenador, y en el campo de la imagen digital es el más extendido. HSV son las iniciales de Hue, Saturation, Value (tonalidad, saturación e intensidad). Este modemos es similar al RGB pero en lugar de descomponer el color de cada pı́xel en sus componentes rojo verde y azul lo descompone de una forma más descriptiva para los humanos. La tonalidad (Hue) representa el color tal como lo entendemos los humanos mediante un ángulo de 0◦ a 360◦. La tonalidad comienza por el rojo puro (0◦ ) y avanza en sentido dextrógiro hacia el amarillo (60◦ ), el verde (120◦ ), el cian (180◦ ), el azul (240◦ ), el magenta (300◦ ) y finalmente regresa al rojo (360◦ ). La saturación (Saturation) representa la pureza del mismo. Un color sin saturación no es color, es sólo un tono de gris, mientras en un color con saturación máxima es un color puro. La intensidad (Value) representa la luminosidad. Un color sin intensidad es un negro absoluto mientras que un color con luminosidad máxima es un blanco puro, sin importar ni la tonalidad ni la saturación. Aunque la tonalidad es un ángulo y la saturación y la intensidad son porcentajes, en los ficheros estos valores se representan entre 0 y 255. HLS se refiere a Hue, Lightness, Saturation (tonalidad, luminosidad y saturación) y es análogo al HSV intercambiando las dos últimas componentes; i.e. la luminosidad es la intensidad. Los tres modelos anteriores permiten almacenar imágenes de hasta 256 3 = 16777216 colores distintos. CMYK hace referencia a Cyan, Magenta, Yellow, inK, que es la forma de descomponer los colores en las imprentas. Los modelos anteriores descomponen los colores basándose en la luz porque están diseñamos para las pantallas de ordenador y televisión, pero el model CMYK está descompone los colores basándose en las mezclas de tintas. Como The GIMP ha sido diseñado para gráficos generados por ordenador y no para trabajos de preedición e impresión, no soporta este modelo de colores. Escala de grises Este modelo es también similar al modelo HSV pero cada pı́xel sólo tiene una componente que es la intensidad. Esta forma de representar el color sólo permite representar escalas de grises, i.e. cada pı́xel tiene un único valor que va de 0 (negro) a 255 (blanco). Indexado Por último vamos a recordar un modelo de colores que no suele usarse mucho. Algunas veces la forma de almacenar imágenes está muy limitada y hay que utilizar un número máximo de colores muy reducido, e.g. 16 ó 256. En estos casos el valor de cada pı́xel es un ı́ndice que hace referencia a un color que está en una colección de colores previamente fijada para la imagen (de ahı́ el nombre del modelo). 1.2.3. Transparencias En ocasiones hay que trabajar con imágenes que tienen zonas transparentes, i.e. regiones donde los pı́xeles no tienen ningún color, simplemente no están. Sin embargo esa propiedad de “no estar” no se puede representar en los modelos de color que The GIMP puede manejar. Por eso se añade un bit (o byte) más a cada pı́xel que representa la transparencia y esta información adicional pasa a formar un nuevo canal denominado “canal alpha”. Más sobre canales en la página ?? Curso de Introdución a Linux para Alumnos 1.3. Maniobras básicas 1.3. 5 Maniobras básicas Es importante que tengas claros los conceptos del anterior apartado. Si te queda alguna duda sobre los mismos vuélvelo a leer. Si no es suficiente busca información en Internet, pregunta a tu experto local o consulta algún libro introductorio al manejo de imágenes digitales. Si ya los tienes claros, pasemos a explorar las posibilidades que The GIMP te ofrece. 1.3.1. Crear una imagen nueva Para empezar a familiarizarte con el entorno de trabajo de The GIMP empieza por crear una imagen nueva. Para ello elige la opción Nuevo. . . del menú de fichero (Fich. o Archivo) o bien pulsa la combinación de teclas C-N. Verás un cuadro de diálogo como los siguientes: Figura 1.3: Cuadros de diálogo para crear una nueva imagen En la parte superior del diálogo puedes introducir la anchura y la altura de la imagen en pı́xeles. Si prefieres generar el tamaño de tu imagen a partir del tamaño real que quieres obtener en la impresora (u otro medio) la parte central del diálogo te permite establecer el tamaño de tu imagen en milı́metros (mm), centı́metros (cm), puntos (pt) y picas (pc) ası́ como la resolución que deseas en pı́xeles por unidad de tamaño (que puede ser mm, cm, pt o pc). Finalmente en la parte inferior del diálogo puedes elegir el tipo de imagen y el tipo de relleno. El tipo de imagen debe ser RGB para imágenes en color o bien Tonos de gris o Escala de grises para imágenes en blanco y negro. El tipo de relleno puede ser Frente para rellenar la imagen con el color de primer plano, Fondo para rellenar la imagen con el color de segundo plano, Blando para rellenar c Grupo de Usuarios de Linux de Canarias 6 TEMA 1. The GIMP la imagen de color blanco o bien Transparente para no rellenar la imagen con ningún color, sino dejarla transparente. El botón Restaurar o Reiniciar reestablece los valores del diálogo a sus valores por defecto. 1.3.2. Abrir un fichero de imagen Probablemente ya tendrás algún fichero de imagen que puedas abrir. Pues es tan fácil como eligir la opción Abrir. . . del menú de fichero (Fich. o Archivo) o bien pulsa la combinación de teclas C-O. El cuadro de diálogo es casi igual al cuadro de diálogo de abrir fichero de GTK+, excepto por la posibilidad de ver una vista previa en miniatura de las imágenes antes de abrirlas. Este cuadro de diálogo también tiene un desplegable para determinar el tipo de fichero que quieres abrir. Por defecto The GIMP reconoce el tipo de los ficheros automáticamente por el nombre y la cabecera del mismo. Si fallara tienes en ese desplegable la opción de especificar el tipo de fichero que estás intentando abrir. 1.3.3. Guardar una imagen en un fichero Cuando quieras guardar una imagen en un fichero puede que te sorprenda que en el menú Fich. ó Archivo no hay ninguna opción para ello. Esto es ası́ porque quieres guardar una imagen y por lo tanto es una operación que afecta a una imagen en concreto. Para acceder a esta operación debes utilizar el menú que aparece cuando clicas con el botón derecho del ratón en la ventana de la imagen. Si has abierto un fichero de imagen y sólo quieres grabar los cambios puedes pulsar la combinación de teclas C-S y será suficiente. Si has creado una imagen nueva y quieres guardarla por primera vez, puedes usar la misma combinación de teclas, pero aparecerá un cuadro de diálogo para preguntarte por el nombre del fichero en el que la quieres guardar y algunos detalles más. Lo mismo sucederá si en cualquier imagen eliges Archivo . Guardar como... en el menú de la imagen. Este cuadro de diálogo es casi idéntido al cuadro de diálogo de guardar fichero de GTK+, salvo por el desplegable que te permite elegir el formato de fichero con el que quieres guardar la imagen. Si este desplegable eliges Por extensión The GIMP adivinará el formato de fichero que deseas usar según la extensión que le pongas al nombre del fichero. Tanto si usas la opción Por extensión como si no verás que hay algunas opciones que no puedes usar. Para comprender a qué se debe esto demos un repaso por los distintos formatos de ficheros soportados por The GIMP 1.3.3.1. Los formatos de fichero Del formato del fichero que utilices para guardar tus imágenes dependerá la calidad de las mismas (las fotos almacenadas en un formato que permita bastante compresión normalmente lo hace a costa de su calidad) y el espacio que ocupe. Algunos además pueden almacenar información relativa al tamaño de la foto para la impresión (TIFF) e información sobre su transparencia (GIF, PNG). Curso de Introdución a Linux para Alumnos 1.3. Maniobras básicas 7 Figura 1.4: Cuadros de diálogo para guardar una imagen a fichero AA es la abreviatura de Ascii Art. Este formato (.ansi) permite guardar una imagen en forma de texto Ascii Art, con las mismas varientes que permite el programa aview. BMP fué desarrollado e impulsado por Microsoft, propietario del mismo. BMP es una abreviatura de Windows BitMaP (Mapa de Bits de Windows). Este formato permite guadar imágenes en RGB o indexadas, sin comprimir o con la compresión RLE (sin pérdidas). CEL es originario del Animator Studio. Es muy utilizado para guardar sprites, o mejor dicho imágenes pequeñas para juegos. FITS es el formato standard en Astronomı́a. FLI fue originalmete creado por Autodesk para la realizacion de animaciones virtuales con ordenador. Fax G3 se usa para poder procesar faxes. GBR es para las Brochas de The GIMP (Gimp brush). GIF (Formato de Intercambio de Gráficos) fue inventado por CompuServe y es uno de los estándares de las imágenes en la World Wide Web. Sin embargo, las patentes de Unisys e IBM que cubren el algoritmo de compresión LZW que es utilizado para crear los archivos GIF, hacen imposible tener software libre que genere GIFs adecuados. GIH lo usa The GIMP para guardar las brochas animadas que aparecen en las herramientas. GIH es el acróninimo de (GIMP Image Hose). GIcon es el formato nativo de los iconos The GIMP . Este formato sólo permite escala de grises. c Grupo de Usuarios de Linux de Canarias 8 TEMA 1. The GIMP HRZ es siempre a 256x240 pixels y es (o mejor, era) usado para edición de imágenes de TV. No tiene compresión. HTML genera una tabla HTML que emula cada pı́xel de la imagen utilizando una celda vacı́a con el color de fondo igual al del pı́xel. MNG (Multiple-image Network Graphics) es un formato libre que substituirá a los GIFs animados. Jpeg es acrónimo de Joint Photographic Experts Group (Unión de Grupo de Expertos en Fotografı́a) y funciona con todas las profundidades de color. La compresión de la imagen es ajustable, pero altas compresiones dañarán la calidad final de la foto, ya que es una compresión con pérdidas. MPEG es acrónimo de Motion Picture Experts Group (Grupo de Expertos en Animación). Es un bien conocido de los formatos de animación. PAT es el formato nativo de Patrones (Patterns) de The GIMP PCX este formato gráfico fue creado por ZSoft y difundido por la familia de programas de dibujo Paintbrush. PIX este es el formato usado por el programa Alias/Wavefront en estaciones SGI (Silicon Graphics). Sólo permite imágenes a color de 24-bits e imágenes en escala de grises de 8-bits. PNG El formato PNG (Portable Network Graphics) es un formato gráfico que usa compresión sin pérdidas (loseless compression). Es el formato actualmente recomendado por la organización W3C (World Wide Web Consortium) para imágenes sin pérdida de calidad. Permite canal alpha de 8 bits. PNM Acrónimo de Portable aNyMap. PNM permite paleta de colores indexada, escala de grises e imágenes a todo color. PSD formato usado por el Adobe Photoshop (The GIMP mantendrá las capas existentes). PSP formato usado por el PaintShop Pro (The GIMP mantendrá las capas existentes). PostScript (PS) PostScript fue creado por Adobe. Es un lenguaje para describir páginas, y es usado principalmente por impresoras y otros dispositivos de impresión. Es una manera estupenda de distribuir documentos. También podemos leer ficheros PDF (Acrobat) con esta opción. SGI es el formato originalmente usado por las aplicaciones gráficas de SGI. SUNRAS acrónimo de SUN RASterfile. Este formato es usado principalmente por las diferentes aplicaciones de Sun. Permite escala de grises, color indexado y todo color. TGA este formato permite compresión a 8, 16, 24, 32 bits de profundidad. TIFF es acrónimo de Tagged Image File Format. Este formato fué diseñado para ser un estandar. Este es un formato de alta calidad y es perfecto cuando quieras importar imágenes de otros programas como FrameWork o Corel Draw. Curso de Introdución a Linux para Alumnos 1.3. Maniobras básicas 9 XCF es el formato nativo de The GIMP y es el que debes utilizar siempre que puedas para guardar tus imágenes mientras las estés manipulando. Cuando termines de manipularlas puedes guardar una copia en otro formato más exportable, pero para mantener la calidad durante el proceso de manipulación es conveniente usar este formato. No tiene ninguna compresión. XWD (X Window Dump) es el formato de las capturas tomadas por X-Window. Sólo se utiliza de forma temporal. XPM (X PixMap) es un formato para imágenes pequeñas, comúnmente usado para los iconos de las aplicaciones de X-Windows. Permite canal alpha de 1 bit. bzip2 comprime la imagen con el compresor bzip2 (el más eficaz existente en Linux) gzip comprime la imagen con el compresor bzip2 (no tan eficaz como bzip2 pero sı́ más rápido) XJT es un formato que permite guardar todo al igual que el formato XCF, pero de una forma sencilla que permite comprimir las imágenes y recuperarlas sin necesidad de utilizar The GIMP . Un fichero con este formato es realmente un fichero tar que contiene las capas y los caminos en ficheros JPEG y un fichero de texto con las propiedades de las capas. 1.3.3.2. Elegir el formato adecuado Como ves The GIMP puede guardar las imágenes en muchos formatos diferentes, pero la elección del formato es problema tuyo1 . Para ayudarte en esta elección vamos a considerar la utilidad de los formatos más usuales: XCF es el formato adecuado para guardar un trabajo a medias. Si estás retocando una foto, haciendo una composición compleja o cualquier trabajo en el que tengas capas, selecciones, caminos, etc. el formato XCF es el más apropiado puesto que es el formato nativo de The GIMP y te permite conservar todos los atributos de la imagen. Sin embargo este formato no tiene compresión alguna y además no puedes leerlo con otros programas. PSD es el formato del Adobe PhotoShop y en teorı́a te permite consevar todos los atributos de la imagen, con la ventaja añadida de que podrás abrirlo con PhotoShop. Tampoco tiene compresión. gzip y bzip2 te permiten comprimir tus ficheros si tienes escasez de espacio y necesitas guardar tu imagen en formato XCF o PSD. El efecto es el mismo que si comprimieras los ficheros con los comandos gzip o bzip2, pero The GIMP te permite hacerlo directamente sin necesidad de utilizar los comandos. JPEG es el formato de fichero más popular en Internet, debido a que permite reducir mucho el tamaño de un fichero de imagen aplicando una compresión con pérdidas. Esta compresión es adecuada para las fotografı́as, pero no tanto para los gráficos generados por ordenador. No permite transparencias ni capas. PNG es el formato más adecuado para los gráficos generados por ordenador, ya que aplica una compresión sin pérdidas que se ajusta mejor a éstos que la compresión del formato JPEG. 1 Recuerda: “El problema es la elección” c Grupo de Usuarios de Linux de Canarias 10 TEMA 1. The GIMP PostScript (usualmente encapsulado) es la opción necesaria para incluir tus imágenes en un documento escrito en LATEX(ver tema ?? o LYX(ver tema ??) XPM es el formato usual para guardar iconos para aplicaciones X-Windows. Sin embargo también puedes usar el formato PNG que además te permite tener 256 niveles de transparencia en cada pı́xel (canal alpha de 8 bits) mientras que XPM sólo permite 2 (opaco o transparente, canal alpha de 1 bit). TIFF es un formato de alta calidad útil para enviar fotografı́as y diseños por ordenador a las imprentas o a personas que no trabajan con The GIMP . Permite guardar canal alpha de 8 bits y tiene compresión sin pérdidas (LZW) o con pérdidas (JPEG). También se puede utilizar sin compresión. Sin embargo el algoritmo de compresión LZW está patentado y no viene con la distribución libre de The GIMP , tienes que añadir un plug-in de distribución no libre. GIF es un formato propietario y limitado por la patente del algoritmo LZW, por lo que cada vez más gente (especialmente en el entorno del Software Libre) está dejando de usarlo. Sin embargo, si instalas el plug-in de distribución no libre mencionando anteriormente, te permite guardar imágenes en este formato. Este formato no soporta color RGB, sólo indexado, por lo que tendrás que transformar la imagen primero. Por otra parte sı́ te permite guardar varias capas (más sobre capas en la página ??) y construir ası́ animaciones (más sobre esto en la página ??). 1.3.4. Exportar una imagen Cuando hayas elegido el formato de fichero que más se ajuste a tus necesidades y te dispongas a guardar la imagen puede que te encuentres con el cuadro de diálogo de exportar imagen. Esto se debe a que estás intentando guardar una imagen en un formato que no permite guardar todas las propiedades de esa imagen. Un caso tı́pico es intentar una imagen con más de una capa o con trasparencia en formato JPEG. La figura 1.5 muestra los cuatros de diálogo de este caso. Figura 1.5: Cuadros de diálogo para exportar una imagen antes de guardarla Curso de Introdución a Linux para Alumnos 1.3. Maniobras básicas 1.3.5. 11 Adquirir una imagen The GIMP puede también leer imágenes de otros dispositivos de entrada además de los ficheros. Dos casos tı́picos son las capturas de pantallas (screenshots) y los escáners. 1.3.5.1. Capturas de pantalla Tomar una captura de pantalla con The GIMP no es tan sencillo como pulsar la tecla Impre Pant, pero es más flexible. En el menú Fich. o Archivo elige la opción Captura de pantalla... dentro del submenú Adquirir o Acquire. Verás un cuadro de diálogo como los de la figura 1.6 Figura 1.6: Cuadros de diálogo para tomar una captura de pantalla 1.3.5.2. Escanear una imagen La forma más usual de utilizar un scanner en GNU/Linux es a través de SANE2 y su interfaz xsane. El programa xsane permite escanear imágenes con las opciones básicas que proporciona el scanner. Sin embargo las imágenes escaneadas suelen necesitar retoques, lo que nos lleva a querer que las imágenes escaneadas sean enviadas directamente a The GIMP , cosa que xsane no hace por sı́ solo. Para esto busca el submenú Fich. . Adquirir . XSane o Archivo . Acquire . XSane. Si no te aparece este menú haz un enlace simbólico en tu directorio personal .gimp-1.2/plug-ins/3 que apunte al ejecutable de xsane. Esto se traduce en ejecutar el siguiente comando: $ ln -s /usr/bin/xsane ~/.gimp-1.2/plug-ins/ 2 Scanner 3 Si Access Now Easy, más información en http://www.mostang.com/sane/ usas The GIMP 1.3 el directorio es .gimp-1.3/plug-ins/ c Grupo de Usuarios de Linux de Canarias 12 TEMA 1. The GIMP Debes reiniciar The GIMP para que este cambio tenga efecto. Una vez que tengas el submenú XSane verás que al menos aparece la opción Device dialog.... Si aparece una o más entradas diferentes a esta, se trata de los scanners que tengas soportados por Sane. Si no aparece ninguno elige la opción Device dialog... y xsane buscará la lista de scanners soportados en tu sistema. Cuando finalmente XSane funcione para tı́, verás un par de ventanas y tal vez algunas más. Las más importantes son la ventana principal y la de vista previa, que puedes ver en la figura 1.7. Figura 1.7: Ventanas principales de XSane La ventana principal contiene un par de menús desplegables que siempre estarán ahı́, otros que dependen de las opciones que eligas en los primeros. Hay un menú desplegable importante que define el modelo de color que quieres utilizar para las imágenes escaneadas. Por defecto suele aparecer selecionado Lineart, pero como verás no es el más adecuado en la mayorı́a de los casos. Las posibilidades son: Lineart utiliza el modelo de color indexado con sólo 2 colores Grayscale utiliza el modelo de escala de grises Color utiliza el modelo RGB Dependiendo del modelo de scanner y del soporte de los controladores de Sane para ese modelo verás otro menú desplegable con las opciones propias de ese modelo, como puede ser escanear algo plano o una pelı́cula (negativa o de diapositiva). Una observación importante si utilizas los modelos de color grayscale o color verás que aparece un menú desplegable con la opción Rango de color completo. Si tienes un scanner capaz de escanear Curso de Introdución a Linux para Alumnos 1.3. Maniobras básicas 13 pelı́culas (negativos o diapositivas) aquı́ tienes la opción de utilizar el rango de colores corresponiente a la pelı́cula que estés usando. Si no estás escaneando pelı́culas puedes dejarlo en Rango de color completo. Debajo de los menús desplegables hay cuatro opciones que se regulan mediante controles numéricos o deslizadores, que son: La resolución , i.e. la cantidad de pı́xeles por pulgada. La resolución mı́nima es de 12 dpi (ridı́cula) y la máxima puede rondar los 1200 dpi (depende del modelo del scanner). Normalmente para retocar la imagen y más adelante imprimirla suele ser suficiente una resolución de 300 dpi para calidad media o 600 dpi para alta calidad. Si lo que quieres es incluir tu imagen en una página web es mejor bajar la resolución para no obtener un fichero demasiado grande, 100 ó 150 dpi puede estar bien. El factor Gamma El Brillo regula la luminosidad de la imagen escaneada. El Contraste puede acentuar o atenuar las diferencias de color entre los pı́xeles de la imagen escaneada respecto del original. Debajo de los controles deslizantes hay seis botones con las siguiente funcionalidades: Desglosar los controles por canales. Normalmente regularás los controles gamma, brillo y contraste para la imagen afectando por igual a los tres canales: rojo, verde y azul. Si estás manipulando imágenes con desequilibrios en los colores4 puedes necesitar diferentes ajuste de gamma, brillo o contraste para cada canal. Invertir los colores de la imagen. Al hacer esto el control de gamma se invierte multiplicativamente y el control de brillo se invierte aditivamente. Autoajustar los controles gamma, brillo y contraste. XSane examina la imagen de la vista previa y trata de determinar los mejores valores para estos ajustes. Pueden no ser los ajustes que más te gusten, pero pueden ser una buena aproximación inicial. Restablece los valores neutros de los controles gamma, brillo y contraste. Estos valores son respectivamente 1, 0, 0. Recupera los últimos ajustes de los controles gamma, brillo y contraste previamente memorizados. Memoriza los ajustes de los controles gamma, brillo y contraste. Por último en la parte de abajo de la ventana principal tienes dos barras de estado que te informan del tamaño que tendrá la imagen escaneada finalmente. Junto a estas barras de estado está el botón Escanear y Cancelar. Pero antes de escanear una imagen pulsa el botón Adquirir vista previa. Al cabo de un tiempo verás en la ventana una vista previa de lo que hayas puesto en el scanner. Si tu scanner es antiguo, utiliza el puerto paralelo o está en otra máquina, esto puede tardar un poco. 4 Por ejemplo fotografı́as tomadas con pelı́cula para luz de dı́a en lugares iluminados con luz artificial c Grupo de Usuarios de Linux de Canarias 14 TEMA 1. The GIMP Figura 1.8: Vista previa de una revista en un scanner plano Sobre esta vista previa selecciona la región que quieres escanear En caso de duda sé generoso y selecciona un poco más de imagen, ya la recortarás luego si te sobra. Lo que nunca debes hacer es seleccionar más allá del lı́mite fı́sico del scanner, ya que muchos scanners no tienen un sensor que indique que han llegado al final del recorrido e intentan seguir más allá. Si esto te sucede probablemente oirás un sonido horrible y entonces si no desconectas la alimentación del scanner puede que se rompa. Aunque son raros los casos, ten cuidado con esto. Una vez que tengas seleccionada la región que quieras escanear pulsa el botón Escanear y espera pacientemente a que la imagen escaneada aparezca en The GIMP . 1.4. Herramientas En la ventana principal de The GIMP tienes una serie de botones con iconos que son las herramientas, además de accesos a los diálos de selección de colores, brochas, patrones y gradientes. Cada herramienta tiene sus propias opciones en cuyos detalles procuraremos no entrar, pero que debes saber que están ahı́ y echarles un vistazo. Para seleccionar una herramienta clica sobre ella, para acceder a sus opciones haz doble click sobre ella. Veamos qué son estas herramientas y diálogos y cuál es su utilidad. 1.4.1. Herramientas de selección Las primeras seis herramientas son para hacer selecciones en la imagen. Una selección te permite limitar el efecto de las operaciones que hagas en la imagen, ası́ como cortar, copiar y pegar Curso de Introdución a Linux para Alumnos 1.4. Herramientas 15 Figura 1.9: La imagen escaneada adquirida desde The GIMP regiones. Hay una herramienta de selección para cada uso. La figura 1.10 muestra los botones correspondientes a estas herramientas, que pasamos a describir a continuación. 1.4.1.1. Seleccionar regiones rectangulares (1) Esta es la herramienta de selección más básica y usual, permite seleccionar regiones rectangulares o cuadradas. Para seleccionar un rectángulo marcando dos esquinas opuestas mantén pulsado el botón izquierdo del ratón en una esquina y arrastra el ratón hasta la esquina opuesta, al soltar el botón izquierdo del ratón la región quedará seleccionada. Si quieres seleccionar una región cuadrada mantén pulsada la tecla Shift antes de soltar el botón izquierdo del ratón . Si quieres que el punto inicial sea el centro de la selección mantén pulsada la tecla Control antes de soltar el botón izquierdo del ratón . Ambos efectos pueden sumarse si mantén pulsadas las teclas Shift y Control antes de soltar el botón izquierdo del ratón . Además también puedes sumar, restar e intersectar las regiones seleccionadas. Para sumar una nueva selección a la existente mantén pulsada la tecla Shift antes de pulsar el botón izquierdo del ratón (luego puedes soltarla antes de soltar el botón izquierdo del ratón ). Si lo que quieres es restar una nueva selección a la existente mantén pulsada la tecla Control antes de pulsar el botón izquierdo del ratón . Para intersectar una nueva selección con la existente mantén pulsadas las teclas Shift y Control antes de pulsar el botón izquierdo del ratón . Las operaciones de suma, resta e intersección de selecciones son válidas para las siete herramientas de selección que describimos aquı́. Si bien en algunas herramientas el momento en el que debes c Grupo de Usuarios de Linux de Canarias 16 TEMA 1. The GIMP Figura 1.10: Herramientas de selección pulsar las teclas Shift o Control pueden variar ligeramente, ya te lo indicaremos más adelante. Si no te lo indicamos es que se hace igual que con la selección de regiones rectangulares. 1.4.1.2. Seleccionar regiones elı́pticas (2) Su manejo es exactamente igual que el de la herramienta para seleccionar regiones rectangulares, pero en lugar de seleccionar regiones rectangulares (o cuadradas) las regiones son elı́pticas (o circulares). 1.4.1.3. Seleccionar regiones dibujadas a mano (3) Esta forma de seleccionar regiones es muy útil para seleccionar regiones con precisión cuando The GIMP no encuentre una forma suficientemente precisa de hacerlo. No es una herramienta que debas utilizar para seleccionar regiones desde cero, sino para afinar las selecciones que aproximes mediante las otras herramientas de selección. 1.4.1.4. Seleccionar regiones contı́nuas (4) Sirve para seleccionar una región de pı́xeles con colores muy cercanos al color del pı́xel sobre el que se aplica la herramienta. Por ejemplo en una fotografı́a de paisaje clicando con esta herramienta en un cielo despejado quedarı́a seleccionado casi todo el cielo. Una caracterı́stica importante de esta herramienta es que las selecciones resultantes son contı́nuas, o mejor dicho conexas. 1.4.1.5. Seleccionar regiones utilizando curvas de Bèzier (5) Las curvas de bezier están determinadas por dos puntos (origen y destino) que determinan los extremos de la curva y dos vectores (atractores) que determinan “cómo” llega la curva a Curso de Introdución a Linux para Alumnos 1.4. Herramientas 17 sus extremos. Esta herramienta permite seleccionar regiones delimitándolas con curvas de Bèzier cerradas. Los polı́gonos cerrados son un caso particular de estas curvas. El manejo de esta herramienta no es del todo trivial: clica en puntos de la imagen que pertenezcan al contorno de la región (o en los vértices del polı́gono) que quieras seleccionar, terminando en el mismo punto que empezaste. Con esto consigues un polı́gono cerrado que es tu primera aproximación a la curva cerrada final que quieres obtener5 . Cuando tengas el polı́gono cerrado clica dentro del polı́gono y se convertirá en una selección, pero mantendrá marcados los puntos originales. Si ya tenı́as una selección existente este era el momento de mantener pulsadas las teclas Shift o Control para sumar, restar o intersectar ambas regiones. Si quieres mejorar la aproximación de la curva de Bèzier tienes que modificar los atractores de cada punto. Para ello clica y mantén pulsado el botón izquierdo del ratón sobre el punto cuyos atractores quieras modificar, y ahora arrastra el cuadradito que aparecerá en ambos extremos de un segmento centrado en el punto cuyos atractores estás modificando. Repite con todos los puntos que quieras cuantas veces quieras. Cuando tengas la curva modificada a tu gusto, tendrás ocasión de substituir la selección que ya tienes por una nueva con la forma de la curva que has obtenido; o bien sumar, restar o intersectar la nueva curva con la selección previa. Para substituir simplemente clica dentro de la curva; para sumar, restar o intersectar mantén pulsadas las teclas correspondientes mientras clicas dentro de la curva. La figura 1.11 muestra un ejemplo de selección realizada con curvas de Bèzier. Figura 1.11: Selección realizada con curvas de Bèzier 5 En algunos contextos encontrarás que estas curvas cerradas se denominan “beziérgonos” c Grupo de Usuarios de Linux de Canarias 18 1.4.1.6. TEMA 1. The GIMP Seleccionar formas de la imagen (6) Esta herramienta, también llamada “tijeras inteligentes”, se maneja igual que la selección de regiones mediantes curvas de Bèzier, pero su forma de construir la curva que determina los lı́mites de la región es más inteligente. Entre cada dos puntos The GIMP traza un camino buscando bordes en la imagen, eligiendo la trayectoria que deje a sus lados pı́xeles con mayores diferencias. Esta herramienta es sumamente útil para aproximar selecciones de objectos en una imagen plana (sin capas), por ejemplo para seleccionar un coche en concreto en una fotografı́a llena de coches. La figura 1.12 muestra un ejemplo de selección realizada con tijeras inteligentes. Figura 1.12: Selección realizada con tijeras inteligentes 1.4.1.7. Seleccionar regiones por colores (7) Sirve para seleccionar todas las regiones de pı́xeles con colores muy cercanos al color del pı́xel sobre el que se aplica la herramienta. Su manejo es idéntico al de la selección de regiones contı́nuas, pero a diferencia de ésta las selecciones resultantes no son conexas. 1.4.2. Herramientas de transformaciones geométricas Las primeras seis herramientas son para hacer selecciones en la imagen. Una selección te permite limitar el efecto de las operaciones que hagas en la imagen, ası́ como cortar, copiar y pegar regiones. Hay una herramienta de selección para cada uso. La figura 1.13 muestra los botones correspondientes a estas herramientas, que pasamos a describir a continuación. 1.4.2.1. Mover capas y selecciones (8) Esta herramienta tiene dos modos de funcionamiento, dependiendo de si existe una selección o no. Si hay una selección esta herramienta desplaza sus lı́mites, pero no su contenido. Si no Curso de Introdución a Linux para Alumnos 1.4. Herramientas 19 Figura 1.13: Herramientas de transformaciones geométricas hay selección desplaza la capa sobre la que se aplique el desplazamiento. Esto quiere decir que si una imagen tiene varias capas e intentas mover con esta herramienta una de ellas debes aplicar la herramienta en un pı́xel que pertenezca a la capa que quieres mover, teniendo cuidado de no confundirte de capa por las transparencias. 1.4.2.2. Aumento y disminución (lupa) (9) El comportamiento de esta herramienta es aumentar el acercamiento de la vista sobre la centrada en el pı́xel donde se aplica. Manteniendo pulsada la tecla Control se invierte el comportamiento. 1.4.2.3. Recortar o redimensionar una imagen (10) Cuando haces una captura de pantalla o escaneas una fotografı́a normalmente tienes que quedarte sólo con una región de la imagen y desechar el resto. Esta herramienta se ajusta perfectamente a estet comentido. Selecciona con ella la región que quieres conservar, puedes reajustar la selección cuantas veces necesites arrastrando las esquinas de la región. Cuando finalmente tengas la región definida pulsa en Recortar y obtendrás el resultado deseado. 1.4.2.4. Rotación, escalado, cizalladura y perspectiva (11) Estas herramientas están reunidas en una sola en The GIMP 1.2, por lo que para elegir la operación que quieras hacer tendrás que hacer doble click sobre la herramienta y elegir las opciones en el cuádro de diálogo que puedes ver en el centro de la figura 1.13. En The GIMP 1.3 cada una de estas herramientas tiene su propio botón en la caja de herramientas. Cuando se aplica una de estas herramientas sobre una selección pasamos a manejar esta selección mediante la malla rectangular mı́nima que la contenga. Cada una de estas herramientas tiene diferentes efectos sobre la imagen o selección sobre la que se apliquen. En la figura 1.15 puedes ver los efectos que describimos a continuación: c Grupo de Usuarios de Linux de Canarias 20 TEMA 1. The GIMP Figura 1.14: Cuadro de dı́alogo para recortar imagen en The GIMP 1.3 Rotación transforma la selección rotándola sobre un punto, que inicialmente es el centro de la malla rectangular. Puedes desplazar este punto arrastrándolo con el ratón para cambiar el centro de la rotación, y rotar la malla arrastrando una de sus esquinas. Escalado altera la anchura y altura de la malla rectangular, manteniéndola centrada sober el punto centrar de referencia. Puedes desplazar este punto arrastrándolo con el ratón y modificar la malla arrastrando una de sus esquinas o cualquier otro punto del interior de la malla. Cizalladura es un caso particular de la siguiente herramienta. Sólo permite desplazar las esquinas de la malla horizontal o verticalmente para desplazar un lado de la malla en una dirección y sentido y el lado opuesto en la misma dirección pero sentido contrario. Perspectiva es la transformación más flexible, pues te permite desplazar cada esquina de la malla a tu antojo para obtener la deformación que quieras. También puedes desplazar el punto central para trasladar la malla. 1.4.2.5. Invertir simétricamente (12) Esta herramienta invierte simétricamente la selección, capa o imagen donde se aplique. Por defecto produce una inversión horizontal, para cambiar haz doble click en el botón de la herremienta y cámbialo a vertical. 1.4.3. Herramientas de dibujo The GIMP tiene muchas herramientas de dibujo, pero en este tema vamos a tratar sólo las más básicas y usuales. Curso de Introdución a Linux para Alumnos 1.4. Herramientas 21 Figura 1.15: Rotación, escalado, cizalladura y perspectiva en The GIMP 1.3 c Grupo de Usuarios de Linux de Canarias 22 TEMA 1. The GIMP Figura 1.16: Herramientas básicas de dibujo 1.4.3.1. Recoger colores de la imagen (13) Esta herramienta, comunmente denominada “pipeta”, permite cambiar el color de frente tomándolo de una imagen abierta. Basta con hacer click en un pı́xel para que su color quede seleccionado como color de frente y nos muestra un cuadro con la información del color seleccionado: valores RGB (Rojo, Verde y Azul), valor de transparencia (Alpha) y terna hexadecimal RGB (útil para edición de páginas web). Figura 1.17: Cuadros de información de color seleccionado con la pipeta Curso de Introdución a Linux para Alumnos incluyelyx incluyelatex 24 TEMA 1. The GIMP Curso de Introdución a Linux para Alumnos Índice alfabético The GIMP , 1 formatos de fichero, 6 herramientas, 14 seleccionar formas de la imagen, 18 seleccionar regiones , 16 seleccionar regiones contı́nuas , 16 seleccionar regiones dibujadas a mano, 16 seleccionar regiones por colores, 18 seleccionar regiones rectangulares, 15 seleccionar regiones utilizando curvas de Bèzier, 16 mapas de bits, 2 modelos de colores, 3 transparencias, 4 25 Bibliografı́a [1] traducción por Ruth Vázquez Alex Harford. GIMP La Referencia Esencial. Prentice Hall, Madrid, 2000. ISBN: 84-205-3070-0. 27