Ich versuche gerade ein Bild aus einer Datei zu lesen, zu vergrößern (ohne Antialiasing) und dann als Hintergrundbild in einem Panel darzustellen. Dabei scheint es aber Probleme beim vergrößern zu geben. Links und oben fehlt ein Teil des Bildes (4px) und rechts und unten ist ein Rand (Bild im Anhang. Der Schwarze Rand den ihr seht stammt vom Hintergrundbild der Form und sollte das Bild eigentlich umranden). Ich verstehe leider absolut nicht warum das passiert. Hier mal der Code den ich benutze um das Bild auf die angegebene Größe zu vergrößern:
Danach setze ich das erhaltene Image als BackgroundImage für das Panel.
Ich hoffe mir kann jemand helfen.
VB.NET-Quellcode
- Public Shared Function ResizeImage(ByVal image As Image, ByVal width As Integer, ByVal height As Integer) As Image
- Dim destbmp As New Bitmap(width, height)
- Dim destgraphics As Graphics = Graphics.FromImage(destbmp)
- ' Copy the source image into the destination bitmap.
- destgraphics.InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor 'No Antialiasing
- destgraphics.DrawImage(image, New Rectangle(0, 0, width, height))
- destgraphics.Dispose()
- Return destbmp
- End Function
Danach setze ich das erhaltene Image als BackgroundImage für das Panel.
Ich hoffe mir kann jemand helfen.