mboost-dp1

Type problem


Gå til bund
Gravatar #1 - MadsHaupt
11. mar. 2013 18:11
Jeg har lavet mit eget billede format men det billede format bliver læst meget langsomt fordi for at jeg kan bruge det til nået skal jeg have konverteret det til en bitmap og så skal jeg jo sette alle de pixel der er i bitmapen og det tager lang tid.
Er det ikke en hurtiger måde at læse og konverter en bitmap på?
Gravatar #2 - MadsHaupt
11. mar. 2013 18:13
    Public Sub New(ByVal Image As Image)
Dim Bitmap As New Bitmap(Image)
Dim Pixs(Bitmap.Height - 1)() As Color
For Y = 0 To Bitmap.Height - 1
Dim PixX(Bitmap.Width - 1) As Color
For X = 0 To Bitmap.Width - 1
PixX(X) = Bitmap.GetPixel(X, Y)
Next
Pixs(Y) = PixX
Next
Pixels = Pixs
End Sub

    Public Function ToBitmap() As Bitmap
Dim a As New Bitmap(Pixels(0).Length, Pixels.Length)
For X = 0 To a.Width - 1
For Y = 0 To a.Height - 1
a.SetPixel(X, Y, Pixels(Y)(X))
Next
Next
Return a
End Function
Gravatar #3 - Mort
12. mar. 2013 15:34
Hvis du vil ændre pixelsne i et bitmap, så tag i stedet fat i bitsne og sæt dem (Bitmap.LockBits metoden).

Hvis du prøver at sætte hver pixel med et kald til SetPixel, så får du et metodekald for hver pixel der er, hvilket giver en enorm mængde overhead og derfor er meget langsomt.
Gravatar #4 - MadsHaupt
13. mar. 2013 13:32
Jeg ved ikke helt hvordan jeg skal bruge funktionen "Bitmap.LockBits".
Kan Du ikke sende nået kode?.
Gravatar #5 - Mort
13. mar. 2013 20:16
Nej, jeg laver ikke dit program for dig. Du må google efter det, hvis du skal bruge kode eksempler :)
Gravatar #6 - MadsHaupt
14. mar. 2013 09:14
Jeg har fundet ud af det på google. :)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login