PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A....

26
PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP)

Transcript of PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A....

Page 1: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

PROGRAMACIÓN MULTIMEDIA

ARCHIVOS BITMAP(.BMP)

Page 2: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

2

Programación Multimedia Archivos .BMP

Colores

Bitmaps

Contextos de Dispositivo

Page 3: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

3

Programación Multimedia Archivos .BMP

Contextos de Dispositivo

Estructura que define un conjunto de objetos gráficos con sus correspondientes atributos:

1. Pluma2. Brocha3. Mapa de bits (Bitmap)4. Paleta5. Fuente6. Región 7. Path

Page 4: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

4

Programación Multimedia Archivos .BMP

- Independencia del dispositivo

- Dos librerías dinámicas: GDI.DLL y otra, dependiente del dispositivo.

- Comunicación con el GDI a través de los CD

Contextos de Dispositivo

Page 5: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

5

Programación Multimedia Archivos .BMP

Atributos:

Bitmap Tamaño, Dimensiones, Formato del Color, Compresión...

Brocha Estilo, Color, Origen...Paleta Colores y TamañoFuente Anchura, Altura, Conjunto de

caracteres...Path FormaPluma Estilo, Grosor y ColorRegión Ubicación y Dimensiones

Contextos de Dispositivo

Page 6: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

6

Programación Multimedia Archivos .BMP

Modos Gráficos:

Background Define cómo los colores del fondo se mezclan con las ventanas existentes o con los colores de la pantalla en operaciones gráficas o de texto.

Drawing Define cómo los colores se mezclan con las ventanas existentes o con los colores de la pantalla en operaciones de texto, gráficas, con plumas o con brochas.

Mapping Define cómo se “mapea” la salida gráfica hacia una ventana, una pantalla o un papel impreso.

Contextos de Dispositivo

Page 7: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

7

Programación Multimedia Archivos .BMP

Modos Gráficos:

Polygon-fill Define cómo se usa la brocha para rellenar el interior de regiones complejas.

Stretching Define cómo los colores de los bitmaps se mezclan con ventanas existentes o con los colores de la pantalla cuando escalamos el bitmap.

Contextos de Dispositivo

Page 8: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

8

Programación Multimedia Archivos .BMP

Modos Gráficos (funciones):

GetBkModeGetROP2GetMapModeGetPolyFillModeGetStretchBltMode SetBkModeSetROP2SetMapModeSetPolyFillModeSetStretchBltMode

Contextos de Dispositivo

Page 9: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

9

Programación Multimedia Archivos .BMP

Tipos de Contextos de Dispositivo:

•Display

•Printer

•Memory

•Information

Contextos de Dispositivo

Page 10: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

10

Programación Multimedia Archivos .BMP

Contextos de Dispositivo Display:

Dispositivos Tipo Class: Compatibilidad con API 16

Dispositivos Tipo Common: Aplicaciones normales, los CD son limitados y hay que liberarlos

Dispositivos Tipo Private: Aplicaciones de diseño (CAD) o de dibujo. Los CD son permanentes hasta que se cierra la ventana. Su creación va asociada a la creación de la ventana.

Contextos de Dispositivo

Page 11: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

11

Programación Multimedia Archivos .BMP

Contextos de Dispositivo Printer:

• Para manejar Impresoras de Impacto, de Chorro de Tinta, Láser y Plotters.

• Son iguales que los Contextos de Dispositivo Display de tipo Common

Contextos de Dispositivo

Page 12: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

12

Programación Multimedia Archivos .BMP

Contextos de Dispositivo Memory:

• Asociados a los Bitmaps

• “Espejo” en disco de un determinado dispositivo

Contextos de Dispositivo

Page 13: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

13

Programación Multimedia Archivos .BMP

Contextos de Dispositivo Information:

•Se utilizan para obtener información de los dispositivos

•Se crean mucho más rápidos que los demás

•Hay que liberarlos

Contextos de Dispositivo

Page 14: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

14

Programación Multimedia Archivos .BMP

Operaciones:

· Enumerar los objetos existentes · Crear nuevos objetos · Borrar los objetos existentes · Grabar los objetos actuales, con sus atributos · Recuperar objetos grabados previamente, con sus atributos

Contextos de Dispositivo

Page 15: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

15

Programación Multimedia Archivos .BMP

Funciones:

GetObject()GetCurrentObject()SelectObject()DeleteObject()Create...()DeviceCapabilities()SaveDC()RestoreDC()ResetDC()

Contextos de Dispositivo

Page 16: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

16

Programación Multimedia Archivos .BMP

Definición

• Objeto gráfico que sirve para crear, manipular (escalar, rotar, pintar) y almacenar imágenes como archivos en disco.

• Uno de los siete objetos incluidos en un contexto de dispositivo

Bitmaps

Page 17: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

17

Programación Multimedia Archivos .BMP

Definición

- Una cabecera que describe la resolución, las dimensiones, etc. - Una paleta de colores. - Un vector de bits que define la relación entre los pixels de la imagen y las entradas de la paleta.

Bitmaps

Page 18: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

18

Programación Multimedia Archivos .BMP

Tipos de Bitmaps:

• Bitmaps Independientes del Dispositivo

• Bitmaps Dependientes del Dispositivo

Bitmaps

Page 19: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

19

Programación Multimedia Archivos .BMP

Bitmaps independientes del dispositivo:

- Formato de color- Resolución- Paleta- Vector de bits para mapear RGB- Compresión de datos

Estructuras:

BITMAPINFO: BITMAPINFOHEADER RGBQUAD

Bitmaps

Page 20: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

20

Programación Multimedia Archivos .BMP

Bitmaps independientes del dispositivo:

Clases: “Top-Down” y “Bottom-up”

Color: 1 bit, monocromo; 4, VGA; 8,16 y 32, otros

Resolución: Píxels por metro.

Paleta: Vector de estructuras RGBQUAD

Bitmaps

Page 21: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

21

Programación Multimedia Archivos .BMP

Bitmaps dependientes del dispositivo:

- Compatibilidad con API 16 bits.

- Guardan toda la información en una estructura: BITMAP

- Existen dos tipos: Discardable (se elimina si no es incluido en un CD) y Undiscardable

- Se pueden crear con la misma llamada que se usa para crear BMPs independientes del dispositivo: CreateDIBitmap

Bitmaps

Page 22: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

22

Programación Multimedia Archivos .BMP

Bitmaps Operaciones:

- Rotar: PlgBlt()

- Ajustar: Stretchblt()

- Almacenamiento: BITMAPFILEHEADER BITMAPINFOHEADER

RGBQUAD

Page 23: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

23

Programación Multimedia Archivos .BMP

- Combinación de los tres colores primarios Rojo, Verde y Azul.

- Cada color, representado por 8 bits

- Blanco: (255,255,255)

- Negro: (0,0,0)

Colores

Page 24: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

24

Programación Multimedia Archivos .BMP

- Color Aproximado: GetNearestColor()

COLORREF GetNearestColor(

HDC hdc, COLORREF crColor );

- Bitmaps: Dependencia de la paleta.

Colores

Page 25: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

© Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

25

Programación Multimedia Archivos .BMP

Funciones:

CreatePalette()

SelectPalette()

SetPaletteEntries()

Colores

Page 26: PROGRAMACIÓN MULTIMEDIA ARCHIVOS BITMAP (.BMP). Programación MultimediaArchivos.BMP © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N.

PROGRAMACIÓN MULTIMEDIA

ARCHIVOS BITMAP(*.BMP)