Download Graphics
Document related concepts
no text concepts found
Transcript
Graficación IA7200-T Imágenes – Introducción Imágenes • • • • • • Definición Formatos de archivos Representación Interna Save: Imágenes-> Archivo Imágenes Internas Load: Imágenes <- Archivo Graficación • Procesamiento de imágenes es un campo muy amplio • Solo algunas ideas en esta clase • Ver el Java API y experimentar con manipulación de imágenes 2 Imágenes – Definición • Arreglo 2D de pixeles • Coordenadas rectilíneas • Resolución determinada por el número de pixeles • La calidad depende de la compresión – bits por pixel Graficación • Existen varios formatos para almacenar imágenes en disco • Diferentes esquemas de representación en memoria 3 Formatos de Imágenes • GIF - Graphics Interchange Format (compresión sin pérdidas) • JPEG - Joint Photographic Experts Group (varios niveles de compresión con pérdidas) • PPM - Portable Pixmap (raw raster bitmap) • PGM - Portable Greymap (raw raster bitmap) • TIF - Interchange Format (soporta compresion) • PostScript – puede incluir un bitmab • PDF – puede incluir un bitmap comprimido • … y muchos formatos propietarios mas Graficación 4 Representación Interna • Arreglos de bytes (Raw) - vg 3 bytes para RGB para cada pixel • Valores de pixel + Lookup tables • Otras representaciones usan tantos bits por pixel como se desee • Java tiene una clase Image que oculta todo esto dentro de un objeto (mayor nivel de abstracción) Graficación 5 Ejemplos • Podemos extraer una imagen de los objetos gráficos: – MyProg07 – extrae una imagen y la guarda en un archivo (GIF and/or JPEG) – MyProg08 – crea una imagen interna como un buffer doble (acelera el redibujado) – MyProg09 – lee una imagen de un archivo JPEG Graficación 6 Resumen • Varios formats de archivos • Varias representaciones de memoria • Usar lo que mas convenga, de acuerdo al hardware • Compromiso resolution, calidad, tamaño y modelo de aplicación Graficación • Java Image • Java ImageBuffer • Usamos argumentos de la linea de comandos para los programas – podríamos desarrollar una GUI para elegir archivo 7