Pixel in einer PictureBox klar darstellen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von KingTimon.

    Pixel in einer PictureBox klar darstellen

    Hallo Leute,

    Jedes mal wenn ich ein Bild (50 x 50) in den Hintergrund einer Beliebigen PictureBox lade und das Layout auf "zoom" gestellt habe werden die Pixel unscharf dargestellt.
    Sie verschwimmen und die Kanten werden nicht hart dargestellt.
    Beispielbild:


    Ich habe schon ein wenig gegoogelt und bin auf folgendem Thread gestoßen (PictureBox vergrößert scharf anzeigen).
    Dort wurde folgender Code als Lösung gepostet:
    Spoiler anzeigen


    VB.NET-Quellcode

    1. Public Class MyPicturebox
    2. Inherits PictureBox
    3. Protected Overrides Sub OnPaint(pe As System.Windows.Forms.PaintEventArgs)
    4. pe.Graphics.InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor
    5. MyBase.OnPaint(pe)
    6. End Sub
    7. End Class




    doch bei mir Funktioniert dieser Code nicht. Ich habe eine neue MyPictureBox in die Form geladen doch das Problem ist immer noch da. ?(
    Mein Code:

    VB.NET-Quellcode

    1. Private Sub Main_Load(sender As Object, e As EventArgs) Handles Me.Load
    2. With newPB
    3. .Image = My.Resources.Resource1.Test
    4. .Location = New Point(0, 0)
    5. .Dock = DockStyle.Fill
    6. .Size = New Size(100, 100)
    7. .BackgroundImageLayout = ImageLayout.Zoom
    8. End With
    9. Me.Controls.Add(newPB)
    10. End Sub


    newPB ist als Attribut mit dem Typ "New MyPicturebox" Deklariert.

    Danke schon im Voraus ;)
    "Das Internet ist nur ein Hype" - Bill Gates
    ich hatte ein ähnliches problem und hab das damit gelöst, dass ich einfach das bild ausgelesen habe und jeden pixel in einem neuen bild als 100 * 100 rectangle gezeichnet habe.
    nicht die beste lösung aber mein ansatz^^
    Auf der Suche nach Coding-Kursen auf Lence.at