Ejercicio
Ancho Y Alto BMP, Binaryreader
Objectivo
Vuelva a crear un programa de C# para mostrar el ancho y el alto de un archivo BMP mediante un BinaryReader.
La estructura del encabezado de un archivo BMP es:
Tipo de archivo (letras BM)
0-1
Tamaño de archivo
2-5
Reservado
6-7
Reservado
8-9
Inicio de los datos de imagen
10-13
Sizeofbitmapheader
14-17
Ancho (píxeles)
18-21
Altura (píxeles)
22-25
Número de aviones
26-27
Tamañode cada punto
28-29
Compresión (0 = no comprimida)
30-33
Tamaño de imagen
34-37
Resolución horizontal
38-41
Resolución vertical
42-45
Tamañodecolorable
46-49
Importantcolorscounter
50-53
Ejemplo Ejercicio C#
Mostrar Código C#
// Import the System namespace for basic functionality
using System;
// Import the IO namespace for file handling
using System.IO;
// Create the class to read BMP file header
class BMPReader
{
// Main method where the program starts
static void Main(string[] args)
{
// Ask the user for the BMP file path
Console.WriteLine("Enter the path of the BMP file:");
// Get the file path from the user
string filePath = Console.ReadLine();
// Start of try block to handle any file or reading errors
try
{
// Open the BMP file with BinaryReader to read the binary data
using (BinaryReader reader = new BinaryReader(File.Open(filePath, FileMode.Open)))
{
// Check if the first two bytes are 'BM' to validate it as a BMP file
if (reader.ReadByte() == 0x42 && reader.ReadByte() == 0x4D)
{
// Skip the file size and reserved bytes (2 to 9)
reader.BaseStream.Seek(8, SeekOrigin.Begin);
// Skip to the position where the width is stored (18-21)
int width = reader.ReadInt32();
// Skip to the position where the height is stored (22-25)
int height = reader.ReadInt32();
// Display the width and height of the BMP file
Console.WriteLine("Width: " + width + " pixels");
Console.WriteLine("Height: " + height + " pixels");
}
else
{
// If the file is not a valid BMP file, inform the user
Console.WriteLine("The file is not a valid BMP file.");
}
}
}
catch (Exception ex) // Catch any exceptions that may occur during file reading
{
// Print the exception message if an error occurs
Console.WriteLine("An error occurred: " + ex.Message);
}
}
}
Salida
For a valid BMP file with a width of 800 pixels and a height of 600 pixels, the output would look like:
Enter the path of the BMP file: C:\images\picture.bmp
Width: 800 pixels
Height: 600 pixels
If the file is not a valid BMP file, the output will be:
Enter the path of the BMP file: C:\images\notbmp.txt
The file is not a valid BMP file.
Código de Ejemplo Copiado!
Comparte este Ejercicio C# Sharp
¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. 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 C#.
Este ejercicio en C# consiste en crear un "convertidor de texto a HTML". El programa debe leer un archivo de texto de entrada y crear un archivo HTML a partir de su c...
Este ejercicio en C# consiste en crear un programa que "invierta" un archivo utilizando un FileStream. El programa debe crear un archivo con el mismo nombre qu...
Este ejercicio en C# consiste en crear un programa que lea un archivo BMP utilizando un FileStream y muestre su ancho y alto. El formato BMP tien...
Este ejercicio en C# consiste en crear un programa que copie un archivo de origen a un archivo de destino utilizando un FileStream y un tamaño de bloque de 512...
Este ejercicio en C# trata sobre las especificaciones ID3, que se aplican a cualquier archivo o contenedor audiovisual, pero se utilizan principalmente con contenedor...
Este ejercicio consiste en crear un programa que convierta programas simples en C a C#, como el siguiente ejemplo, asegurando que el programa resultante compil...