Diseño Y Desarrollo De Una Aplicación De Escritorio Dedicada a La Composición Fotográfica
Total Page:16
File Type:pdf, Size:1020Kb
E.T.S.I. TELECOMUNICACIÓN TRABAJO FIN DE GRADO GRADO EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica Autor: D. Pablo Martín Junquera Tutora: Dra. Dña. Miriam Antón Rodríguez Valladolid, 4 de Junio de 2015 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 2 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TRABAJO FIN DE GRADO TÍTULO: Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica: Autodesign AUTOR: D. Pablo Martín Junquera TUTORA: Dña. Míriam Antón Rodríguez DEPARTAMENTO: Teoría de la Señal y Comunicaciones e Ingeniería Telemática TRIBUNAL PRESIDENTA: Dña. Mª Ángeles Pérez Juárez VOCAL: Dña. Míriam Antón Rodríguez SECRETARIO: D. David González Ortega SUPLENTE 1: D. Mario Martínez Zarzuela SUPLENTE 2: D. Francisco Javier Díaz Pernas FECHA: Julio de 2015 CALIFICACIÓN: TFG – Pablo Martín Junquera 3 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 4 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica AGRADECIMIENTOS “A mis padres, por apoyarme y confiar en mí hasta el final; a mis hermanos, por animarme en todo momento; a Claudia, por su ayuda, apoyo y ánimos en los buenos y malos momentos; a mi tutora, Miriam, por toda su ayuda, esfuerzo y dedicación” TFG – Pablo Martín Junquera 5 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 6 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica RESUMEN En este Trabajo Fin de Grado se propone el diseño y desarrollo de una aplicación software dedicada a la edición digital de imágenes. El programa ofrecerá las capacidades y medios necesarios para realizar composiciones fotográficas a partir de diferentes archivos de imagen y tendrá como finalidad obtener una imagen que resulte de la correcta combinación de éstas. El objetivo es que los usuarios puedan realizar una composición fotográfica de forma básica e intuitiva que después será procesada de forma más compleja mediante un programa externo. La aplicación tendrá un enfoque a la edición digital de imagen desde los niveles más bajos, permitiendo a los usuarios más inexpertos expresar su creatividad e ideas en este campo. Por lo tanto, un aspecto clave será la experiencia de usuario basada en la sencillez y facilidad de uso de la propia herramienta. El trabajo a realizar comprende todas las fases en el desarrollo de un proyecto software de estas características, abarcando desde el extremo más teórico hasta el más práctico, y tanto en el ámbito más técnico como en el entorno de un usuario final. Para alcanzar los objetivos se hace uso de un amplio abanico de tecnologías, entre las que destacan los lenguajes de programación MySQL y Python, junto con las librerías convenientes, y el programa Eclipse como principal herramienta de desarrollo. PALABRAS CLAVE Desarrollo software, edición digital de imagen, Python, Eclipse, MySQL. TFG – Pablo Martín Junquera 7 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica ABSTRACT In this final project the design and development of a software application dedicated to the digital edition of images is proposed. The application will offer the abilities and means needed to create photographic compositions from different image files and will be destined to obtain a resulting image from the combination of these. Its goal is for the users to be able to carry out a photographic composition in a basic and intuitive way which will be processed in a more complex way by an external program afterwards. The application will be aimed at the digital edition of an image at its lower levels allowing the most inexperienced users to express their creativity and ideas in this field. Therefore, a key aspect of this application will be the user’s experience based in the simplicity and the ease in the use of this tool. The work to do includes every phase in the development of a software project of these characteristics, covering from the most theoretical aspects to the most practical ones, including the most technical issue as well as the final user environment. To achieve the goals, a wide variety of technologies have been used, among which the programming languages MySQL and Python stand out, along with the convenient libraries, and the application Eclipse as the main developing tool. KEYWORDS Software development, digital image edition, Python, Eclipse, MySQL TFG – Pablo Martín Junquera 8 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 9 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica ÍNDICE Trabajo Fin de Grado .................................................................................................... 3 Agradecimientos ........................................................................................................... 5 Resumen ....................................................................................................................... 7 Abstract ......................................................................................................................... 8 Capítulo 1: Introducción ......................................................... 22 1. Introducción al Proyecto ..................................................................................... 22 2. Contexto y Motivación ........................................................................................ 23 3. Objetivos .............................................................................................................. 24 4. Fases y Metodología ............................................................................................ 25 5. Introducción al Documento ................................................................................. 27 Capítulo 2: Conocimientos Teóricos ....................................... 30 1. Conceptos de Software ....................................................................................... 30 1.1. Tipos de aplicaciones............................................................................................... 30 1.2. Sistemas operativos ................................................................................................ 35 2. Conceptos de imagen .......................................................................................... 36 2.1. Tipos de imagen digital ........................................................................................... 36 2.2. Formatos de imagen................................................................................................ 38 2.3. Canales de color. El canal Alfa ................................................................................. 45 3. Tecnologías .......................................................................................................... 49 3.1. Lenguajes de programación: Python ....................................................................... 49 3.2. Librerías de Python .................................................................................................. 53 3.3. Herramientas de desarrollo: Eclipse ....................................................................... 55 3.4. Servidor: XAMPP ..................................................................................................... 58 3.5. Bases de datos ......................................................................................................... 62 3.6. Arquitecturas software para el intercambio de información: REST ....................... 66 3.7. Formatos de intercambio de información: JSON .................................................... 68 TFG – Pablo Martín Junquera 10 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica Capitulo 3: Desarrollo del Proyecto ....................................... 71 1. Archivos Base ....................................................................................................... 71 2. Estructura de Ficheros y Directorios ................................................................... 72 3. Ficheros de Código .............................................................................................. 74 3.1. __init ........................................................................................................................ 74 3.2. main.py .................................................................................................................... 74 3.3. panel_usuario.py ..................................................................................................... 75 3.4 panel_imagenes.py ...................................................................................................... 75 3.5. panel_edicion.py ..................................................................................................... 75 3.6. panel_proyecto.py .................................................................................................. 75 3.7. imagen.py ................................................................................................................ 76 3.8. bd.py .......................................................................................................................