Ejercicio
Ancho Y Alto BMP, Filestream
Objectivo
Cree un programa de C# para mostrar el ancho y el alto de un archivo BMP mediante FileStream.
Recuerda la estructura de la cabecera:
File type (letters BM)
0-1
FileSize
2-5
Reserved
6-7
Reserved
8-9
Start of image data
10-13
Sizeofbitmapheader
14-17
Width (pixels)
18-21
Height (pixels)
22-25
Numberofplanes
26-27
Sizeofeachpoint
28-29
Compression(0=notcompressed)
30-33
Imagesize
34-37
Horizontal resolution
38-41
Verticalresolution
42-45
Sizeofcolortable
46-49
Importantcolorscounter
50-53
Ejemplo Ejercicio C#
Mostrar Código C#
// Import the necessary namespaces for file handling
using System;
using System.IO;
class BMPDimensions
{
// Main method where the program starts
static void Main(string[] args)
{
// Prompt the user to enter the path of the BMP file
Console.WriteLine("Enter the path of the BMP file:");
// Get the file path from user input
string filePath = Console.ReadLine();
// Check if the file exists
if (File.Exists(filePath))
{
try
{
// Open the BMP file for reading in binary mode
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
// Create a binary reader to read the BMP file data
using (BinaryReader reader = new BinaryReader(fs))
{
// Read the 'BM' file type (2 bytes) to confirm it's a BMP file
string fileType = new string(reader.ReadChars(2));
if (fileType != "BM")
{
Console.WriteLine("This is not a valid BMP file.");
return;
}
// Skip to the width and height data in the BMP header
reader.BaseStream.Seek(18, SeekOrigin.Begin);
// Read the width and height (4 bytes each)
int width = reader.ReadInt32();
int height = reader.ReadInt32();
// Display the width and height of the BMP image
Console.WriteLine("Width: " + width + " pixels");
Console.WriteLine("Height: " + height + " pixels");
}
}
}
catch (Exception ex) // Catch any errors that occur during reading
{
// Output an error message if an exception is thrown
Console.WriteLine("An error occurred: " + ex.Message);
}
}
else
{
// Inform the user if the specified file doesn't exist
Console.WriteLine("The specified file does not exist.");
}
}
}
Salida
Example: If the BMP file has a width of 400 pixels and height of 300 pixels, the output will be:
Width: 400 pixels
Height: 300 pixels
If the user provides a file path to a non-BMP file, the program will output:
This 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 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...
Este ejercicio consiste en crear un programa que divida un archivo (de cualquier tipo) en partes de un tamaño específico. El programa debe recibir como parámetros el nombre ...
Este ejercicio consiste en crear un programa que encripte y desencripte un archivo de imagen BMP cambiando la marca "BM" en los primeros dos bytes a "MB" y viceversa. Para e...
Este ejercicio consiste en crear un programa que lea un archivo CSV con cuatro bloques de datos separados por comas (tres de texto y uno numérico) y genere un archivo de tex...