Ejercicio
Ancho y alto BMP, BinaryReader
Objetivo
Vuelva a crear un programa de Visual Basic 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
Código
Imports System
Imports System.IO
Public Class BmpHeightWidth
Public Shared Sub Main()
Dim myFile As BinaryReader
Dim b1, b2 As Byte
Dim width, height As Integer
myFile = New BinaryReader(File.Open("example.bmp", FileMode.Open))
b1 = myFile.ReadByte()
b2 = myFile.ReadByte()
If (b1 = &H42) AndAlso (b2 = &H4D) Then
Console.WriteLine("It seems to be a BMP file")
myFile.BaseStream.Seek(18, SeekOrigin.Begin)
width = myFile.ReadInt32()
height = myFile.ReadInt32()
Console.WriteLine("Width: {0} pixels", width)
Console.WriteLine("Height: {0} pixels", height)
Else
Console.WriteLine("It DOES NOT seem to be a BMP file")
End If
myFile.Close()
End Sub
End Class