Dimensiones BMP, uso de FileStream - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python para mostrar el ancho y la altura de un archivo de imagen BMP utilizando un FileStream. Este ejercicio es perfecto para practicar el manejo de archivos, la manipulación de bytes y la validación en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de operaciones de archivos, manipulación de bytes y validación en Python. Este ejercicio no solo refuerza tu comprensión del manejo de archivos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con el manejo de archivos, manipulación de bytes y validación, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

Administrar archivos

 Ejercicio

Dimensiones BMP, Uso De Filestream

 Objectivo

Desarrollar un programa Python para mostrar el ancho y la altura de un archivo de imagen BMP mediante un `FileStream`. El programa debe leer el archivo BMP y extraer la información de su encabezado.

La estructura del encabezado BMP a seguir es:

- Tipo de archivo ("BM") en las posiciones 0-1
- Tamaño del archivo en las posiciones 2-5
- Reservado en las posiciones 6-7
- Reservado en las posiciones 8-9
- Inicio de los datos de la imagen en las posiciones 10-13
- Tamaño del encabezado del mapa de bits en las posiciones 14-17
- Ancho (píxeles) en las posiciones 18-21
- Alto (píxeles) en las posiciones 22-25
- Número de planos en las posiciones 26-27
- Tamaño de cada píxel en las posiciones 28-29
- Compresión (0 = sin comprimir) en las posiciones 30-33
- Tamaño de la imagen en las posiciones 34-37
- Resolución horizontal en las posiciones 38-41
- Resolución vertical en las posiciones 42-45
- Tamaño de la tabla de colores en las posiciones 46-49
- Contador de colores importantes en las posiciones 50-53

El programa debe imprimir el ancho y el alto de la imagen en la pantalla. Puede utilizar las bibliotecas integradas de Python como "open()" para leer datos binarios del archivo y buscar posiciones de bytes específicas.

 Ejemplo de ejercicio de Python

 Copiar código Python
# Python program to display the width and height of a BMP image file

def get_bmp_dimensions(file_path):
    try:
        # Open the BMP file in binary read mode
        with open(file_path, 'rb') as bmp_file:
            # Seek to the position where width (18-21) and height (22-25) are located
            bmp_file.seek(18)
            
            # Read the width (4 bytes)
            width = int.from_bytes(bmp_file.read(4), byteorder='little')
            
            # Read the height (4 bytes)
            height = int.from_bytes(bmp_file.read(4), byteorder='little')
            
            # Print the width and height of the BMP image
            print(f"Width: {width} pixels")
            print(f"Height: {height} pixels")
    except Exception as e:
        print(f"Error reading the file: {e}")

# Example usage
get_bmp_dimensions("example.bmp")

 Output

Width: 800 pixels
Height: 600 pixels

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Administrar archivos

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Duplicador de archivos

    En este ejercicio, desarrollarás un programa en Python que duplica un archivo fuente a un archivo de destino utilizando FileStream y procesa el archivo en bloques de ...

  •  Lector de archivos MP3

    En este ejercicio, desarrollarás un programa en Python para leer las etiquetas ID3 de un archivo MP3. Este ejercicio es perfecto para practicar el manejo de ar...

  •  Separador de archivos

    En este ejercicio, desarrollarás un programa en Python para dividir un archivo (de cualquier tipo) en segmentos más pequeños de un tamaño especificado. Este ejerci...

  •  Cifrado de archivos BMP

    En este ejercicio, desarrollarás un programa en Python para cifrar o descifrar un archivo de imagen BMP intercambiando la firma "BM" en los dos primeros bytes con "MB...

  •  Convertidor de datos CSV

    En este ejercicio, desarrollarás un programa en Python para leer un archivo CSV que contiene valores separados por comas. Este ejercicio es perfecto para pract...

  •  Comparador de contenido de archivos

    En este ejercicio, desarrollarás un programa en Python para comparar dos archivos (de cualquier tipo) y determinar si son idénticos (es decir, si tienen el mismo cont...