Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [VB 2005] BMP 2 Raw

markus_j [27.02.2009 13:19:43]

#

Hei,
minulla on tilanne tämä:

1.bmp
2.bmp
3.bmp
jne...

Tarkoituksena olisi saada yksi bmp-kuva, missä ensimmäinen kuva ja tiedosto on 1.bmp ja loput bmp-kuvat olisivat tämän kuvan perässä raw-muodossa.

Tässä kaikki kuvat yhtä leveitä ja korkeita.

Tarkoituksena siis rakentaa 1 kuva useista kuvista.

--
Markus

neau33 [09.03.2009 20:50:19]

#

Heippa Markus!

jutskan pitäisi onnistuman oheisen luokan avulla, mutta kuvat olis ehkä parasta puristaa samaan kokoon & asetella jonkinmoiseen riviin jo lähdössä, jolloin jutska onnistuisi periaatteessa yhdistämällä tavutaulukot...

Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Runtime.InteropServices

Public Class BmpToRaw

   Private Function ConvertBitmap(bitmap As Bitmap) As Object 'Byte()

      'alustetaan bittikarttaobjekti (olemattomaksi)
      Dim raw As BitmapData = Nothing

      'alustetaan tavutaulukko
      Dim rawImage As Byte() = Nothing

      Try
         'plokataan muistialue
         raw = bitmap.LockBits(New Rectangle( _
         0, 0, CInt(bitmap.Width), _
         CInt(bitmap.Height)), ImageLockMode.[ReadOnly], _
         PixelFormat.Format24bppRgb)

         Dim size As Integer = raw.Height * raw.Stride
         rawImage = New Byte(size - 1) {}
         'kopioidaan kuvan tavut taulukkoon
         Marshal.Copy(raw.Scan0, rawImage, 0, size)
      Finally
         If raw IsNot Nothing Then
            'vapautetaan muistialue
            bitmap.UnlockBits(raw)
         End If
      End Try
      Return rawImage

   End Function

End Class

markus_j [09.03.2009 22:03:52]

#

Kiitoksia, näyttää hyvältä! Testaan paremmalla ajalla.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta