backup Skrevet 27. august 2006 Del Skrevet 27. august 2006 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. Lenke til kommentar
j000rn Skrevet 27. august 2006 Del Skrevet 27. august 2006 using(System.Drawing.Image b = System.Drawing.Image.FromFile( "bilde.bmp" )) { Console.WriteLine( b.PixelFormat.ToString() ); b.Dispose(); } Lenke til kommentar
backup Skrevet 27. august 2006 Forfatter Del Skrevet 27. august 2006 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! Lenke til kommentar
Gråskjegg Skrevet 27. august 2006 Del Skrevet 27. august 2006 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å - Lenke til kommentar
backup Skrevet 28. august 2006 Forfatter Del Skrevet 28. august 2006 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 Lenke til kommentar
j000rn Skrevet 28. august 2006 Del Skrevet 28. august 2006 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 Lenke til kommentar
backup Skrevet 28. august 2006 Forfatter Del Skrevet 28. august 2006 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. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå