Hey,
ich bin derzeit einen Picturesplitter am schreiben, allerdings komme ich nicht weiter,
also ein Bild ist 512 x 512 pixel groß, darin befinden sich 64 Frames(Pro Spalte und Zeile 8)
also so:
eine frame ist 64 x 64 Pixel groß, ich will jetzt alle Bilder in ein Array Kopiere, hier einfach mal mein code der nicht(richtig) funktioniert^^:
Es wird nur die erste spalte gespeichert
kann mir jemand helfen?
lg.
ich bin derzeit einen Picturesplitter am schreiben, allerdings komme ich nicht weiter,
also ein Bild ist 512 x 512 pixel groß, darin befinden sich 64 Frames(Pro Spalte und Zeile 8)
also so:
eine frame ist 64 x 64 Pixel groß, ich will jetzt alle Bilder in ein Array Kopiere, hier einfach mal mein code der nicht(richtig) funktioniert^^:
VB.NET-Quellcode
- Public Class Form1
- Dim SpriteSize As Size = New Size(64, 64)
- Dim rows As Integer = 8
- Dim columns As Integer = 8
- Dim BMap As Bitmap
- Dim TempSprite As Bitmap
- Dim Sprites As New ArrayList
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim OFD As New OpenFileDialog
- OFD.Filter = "Windows Bitmap(*.bmp)|*.bmp"
- If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
- TextBox1.Text = OFD.FileName
- BMap = New Bitmap(TextBox1.Text)
- End If
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Dim FBD As New FolderBrowserDialog
- If FBD.ShowDialog = Windows.Forms.DialogResult.OK Then
- TextBox2.Text = FBD.SelectedPath
- End If
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- If TextBox1.TextLength > 0 And TextBox2.TextLength > 0 Then
- For x = 0 To rows
- For y = 0 To columns
- Dim TempSprite As New Bitmap(SpriteSize.Width, SpriteSize.Height)
- For x1 = 0 To SpriteSize.Width - 1
- For y1 = 0 To SpriteSize.Height - 1
- Dim Farbe As Color = BMap.GetPixel((x * SpriteSize.Width) + x1, (y * SpriteSize.Height) + y1)
- TempSprite.SetPixel(x1, y1, Farbe)
- Next
- Next
- Sprites.Add(TempSprite)
- TempSprite.Save(TextBox2.Text & "/" & x & y & ".png")
- Next
- Next
- Else
- MsgBox("Du hast nicht alle Felder richtig ausgefüllt", MsgBoxStyle.Exclamation, "Fehler!")
- End If
- End Sub
- End Class
Es wird nur die erste spalte gespeichert
kann mir jemand helfen?
lg.