Ancho y alto BMP, BinaryReader Curso de Programación Visual Basic

Lección:

Administración de Archivos


Ejercicio:

Ancho y alto BMP, BinaryReader 19


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