WinForms: Smoothing in PictureBox ausschalten



  • Hi @ all
    Ich hab mal ne Frage zu dem Graphics Objekt bzw. zu dem BitBlt den .NET macht.
    Ich habe eine PictureBox (PB), welche ca. 80x100 px groß ist. Mein Bild ist aber nur 9x10 px groß. Wenn ich der PictureBox das Bild zuordne wird es auf die Größe der PB skaliert und AntiAliasing darauf angewandt. Ich möchte aber, dass das Bild nur skaliert wird und kein AntiAliasing gemacht wird. Es soll halt "schön" pixelig sein. Der SizeMode der PB ist StretchImage.
    Ich habe auch schon probiert den BitBlt "manuell" über das Graphics Object des PB.Image zu machen und explizit den SmoothingMode auf None gesetzt. Trotzdem wird es aber "gesmoothed". Ich habe auch probiert den InterpolationMode auf NearestNeighbour zu setzten, dies hatte aber auch keine positive Auswirkung!
    Wieso? 😕 😕 😕

    // charPB == PictureBox
    charPB.Image = new Bitmap(charPB.Width, charPB.Height);
    Graphics gfx = Graphics.FromImage(charPB.Image);
    // ...oder Graphics gfx = charPB.GetGraphics();
    gfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
    // creator.bmpProp == das darzustellende Bild
    gfx.DrawImage(creator.bmpProp, 0, 0, charPB.Width, charPB.Height);
    

    Danke im voraus!



  • nur um email-benachrichtigung zu erh 😉 😉 😉 😉 alten


Anmelden zum Antworten