Hi hab mal wieder ne Frage:
Ich habe eine Textur, die in eine Picturebox bzw. in das BackgroundImage eines Panels geladen wird.
Die Ursprungstextur ist nur 16x16 Pixel groß, die Zielgrafik aber 32x32 bzw. 64x64 Pixel.
Nun interpoliert VB.NET das Bild, sodass das ganze zwar "weicher" aussieht, das will ich aber gar nicht.
Ich habe die Grafik extra so gestaltet, dass sie pixelig aussieht.
Nun zu meiner Frage: Wie deaktiviere ich das Interpolieren bei Bildern (Image/Bitmap Objekt) in VB.NET?
Falls es weiterhilft:
Hier noch ein Teil des Codes:
Ich habe eine Textur, die in eine Picturebox bzw. in das BackgroundImage eines Panels geladen wird.
Die Ursprungstextur ist nur 16x16 Pixel groß, die Zielgrafik aber 32x32 bzw. 64x64 Pixel.
Nun interpoliert VB.NET das Bild, sodass das ganze zwar "weicher" aussieht, das will ich aber gar nicht.
Ich habe die Grafik extra so gestaltet, dass sie pixelig aussieht.
Nun zu meiner Frage: Wie deaktiviere ich das Interpolieren bei Bildern (Image/Bitmap Objekt) in VB.NET?
Falls es weiterhilft:
Hier noch ein Teil des Codes:
VB.NET-Quellcode
- Dim maxX As Integer = 16
- Dim texX As Integer = TileTextureId
- Dim texY As Integer = 0
- While texX >= maxX
- texY += 1
- texX -= maxX
- End While
- Dim TextureRectangle As New Rectangle(texX * 16, texY * 16, 16, 16)
- Dim TileRectangle As New Rectangle(0, 0, 32, 32)
- Dim image As New Bitmap(32, 32)
- image = System.Drawing.Image.FromFile(Form1.TexturePackPath)
- Dim newImage As New Bitmap(32, 32)
- Dim a As Graphics = Graphics.FromImage(newImage)
- a.DrawImage(image, TileRectangle, TextureRectangle, GraphicsUnit.Pixel)
- a.Dispose()
- Me.BackgroundImage = newImage
- Me.BackColor = Color.CornflowerBlue