Guten Abend,
ich dachte an etwas einfaches, und wollte ein kleines Paint Programm erschaffen, wo 32x32 oder 64x64 Grafiken bearbeitet und gespeichert werden können. Nun ja, hilfreich sind solche Grafiken z.B. für Minecraft, wenn man ein Ressourcepack erstellen möchte.
Nur bin ich echt am verzweifeln. Ich habe überall recherchiert und keine Lösung für mein Problem gefunden, generell findet man sehr wenig im Internet zu Zeichnungsprogrammen.
Dies ist mein aktueller Code. Ich weiß, er ist noch sehr unsauber und kann gerne korrigiert werden falls sich jemand Zeit dafür nehmen möchte.
Also zum Problem: ich habe einen Button, wo man beliebige Bilderdateien öffnen kann welche in die Picturebox eingefügt werden. Bis jetzt soll man vorab 32x32 Bilder bearbeiten können, andere Auflösungen sind mir momentan noch nicht wichtig. Und jetzt möchte, dass man auf der PictureBox zeichnen kann, sodass es am Ende auch als 32x32 Bitmap abgespeichert werden kann. Wenn ich nämlich die Datei über meinen Save Button speichere mit folgendem Code:
wird die Datei als gewünschte Bitmap gespeichert, aber leider in 512x512 da meine PictureBox so groß ist. Ich kann es nicht besser erklären, ich hoffe ihr wisst wie ich das meine. Die Zoom-Funktion ist deshalb drin, damit die Grafiken auch gut erkennen kann. Mit einem 32x32 Control ist dies ja nicht möglich! Wisst ihr vielleicht weiter?
Liebe Grüße
crashoverride
*Topic verschoben*
ich dachte an etwas einfaches, und wollte ein kleines Paint Programm erschaffen, wo 32x32 oder 64x64 Grafiken bearbeitet und gespeichert werden können. Nun ja, hilfreich sind solche Grafiken z.B. für Minecraft, wenn man ein Ressourcepack erstellen möchte.
Nur bin ich echt am verzweifeln. Ich habe überall recherchiert und keine Lösung für mein Problem gefunden, generell findet man sehr wenig im Internet zu Zeichnungsprogrammen.
Quellcode
- Public Class Form2
- Dim BMP As Bitmap = Nothing
- Dim NewBMP As Bitmap = Nothing
- Dim scaleFactor As Integer = 16
- Dim g As Graphics
- Dim CurrentColor As Color = Color.Black
- Dim CurrentColor2 As Color = Color.White
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- OpenFileDialog1.ShowDialog()
- If DialogResult.Abort = True Then
- Else
- BMP = New Bitmap(OpenFileDialog1.FileName, True)
- NewBMP = New Bitmap(BMP.Width * scaleFactor, BMP.Height * scaleFactor)
- Using g As Graphics = Graphics.FromImage(NewBMP)
- g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor
- g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half
- g.DrawImage(BMP, 0, 0, NewBMP.Width, NewBMP.Height)
- End Using
- pb_Draw.Image = NewBMP
- End If
- End Sub
- Private Sub pb_Draw_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pb_Draw.Paint
- If Not NewBMP Is Nothing Then
- e.Graphics.DrawImage(NewBMP, 0, 0)
- End If
- End Sub
Dies ist mein aktueller Code. Ich weiß, er ist noch sehr unsauber und kann gerne korrigiert werden falls sich jemand Zeit dafür nehmen möchte.
Also zum Problem: ich habe einen Button, wo man beliebige Bilderdateien öffnen kann welche in die Picturebox eingefügt werden. Bis jetzt soll man vorab 32x32 Bilder bearbeiten können, andere Auflösungen sind mir momentan noch nicht wichtig. Und jetzt möchte, dass man auf der PictureBox zeichnen kann, sodass es am Ende auch als 32x32 Bitmap abgespeichert werden kann. Wenn ich nämlich die Datei über meinen Save Button speichere mit folgendem Code:
wird die Datei als gewünschte Bitmap gespeichert, aber leider in 512x512 da meine PictureBox so groß ist. Ich kann es nicht besser erklären, ich hoffe ihr wisst wie ich das meine. Die Zoom-Funktion ist deshalb drin, damit die Grafiken auch gut erkennen kann. Mit einem 32x32 Control ist dies ja nicht möglich! Wisst ihr vielleicht weiter?
Liebe Grüße
crashoverride
*Topic verschoben*
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()