Gå til innhold

Anbefalte innlegg

Skrevet

I et vb.net program leser jeg i en bitmap inn en bmp fil. Så skal programmet undersøke om bmp fila's egenskap bitdybde = 24 (kan se det med høyreklikk bmp-fila, velg egenskaper, velg sammendrag). Skulle gjerne hatt vb.net kode for hvordan dette kan programmeres? Har googlet, men ingen suksess med det.

Videoannonse
Annonse
Skrevet
using(System.Drawing.Image b = System.Drawing.Image.FromFile( "bilde.bmp" ))

{

Console.WriteLine( b.PixelFormat.ToString() );

b.Dispose();

}

6752264[/snapback]

 

jorn79: Bingo! Funka perfekt, akkurat koda jeg trengte, tusen takk!

Skrevet
using(System.Drawing.Image b = System.Drawing.Image.FromFile( "bilde.bmp" ))

{

Console.WriteLine( b.PixelFormat.ToString() );

b.Dispose();

}

6752264[/snapback]

(mulig flisespikk)

Blir det ikke doble Dispose her? Nå gjør det vel ingen skade, men hvorfor bruke using hvis du ikke utnytter det?

 

- grå -

Skrevet

For ordens skyld: her er koden jeg bruker (vb.net, Steganografi):

 

Dim pic As New Bitmap(txtBilde.Text)

If pic.PixelFormat <> 137224 Then

MessageBox.Show("Bildet er ikke en 24bit bitmap!")

Exit Sub

End If

Skrevet
using(System.Drawing.Image b = System.Drawing.Image.FromFile( "bilde.bmp" ))

{

Console.WriteLine( b.PixelFormat.ToString() );

b.Dispose();

}

6752264[/snapback]

(mulig flisespikk)

Blir det ikke doble Dispose her? Nå gjør det vel ingen skade, men hvorfor bruke using hvis du ikke utnytter det?

6754419[/snapback]

 

Ja og ja. Kjører den dobbelt. Var litt trøtt ;) Men er også enig med deg at det er flisespikk, siden det ihvertfall er MYE bedre å kjøre den 2 ganger enn 0 ganger :)

(se koden som ble postet etter deg...)

 

 

For ordens skyld: her er koden jeg bruker (vb.net, Steganografi):

 

Dim pic As New Bitmap(txtBilde.Text)

If pic.PixelFormat <> 137224 Then

    MessageBox.Show("Bildet er ikke en 24bit bitmap!")

      Exit Sub

End If

6755947[/snapback]

 

Du bør dispose pic objektet (bruk using). Litt dumt å bruke "magic-numbers"... Hva er 137224?? Bruk PixelFormat.Format24bppRgb isteden.

 

using pic As New Bitmap(txtBilde.Text)

If pic.PixelFormat <> PixelFormat.Format24bppRgb Then

MessageBox.Show("Bildet er ikke en 24bit bitmap!")

Exit Sub

End If

end using

Skrevet

137224 får jeg når jeg tar MessageBox.show(pic.PixelFormat) når bildet er en 24bit bitmap. Har imidlertid endra koden til slik du foreslår, funker perfekt, takker så mye for hjelpen jorn79.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...