/ / C # przerysowywanie grafiki na winform - c #, winformy, bitmapy

C # przerysowywanie grafiki na winform - c #, winformy, bitmapy

Mam bitmapę załadowaną na winform przez obrazek. Kiedy chcę zaktualizować obraz, próbuję jako taki:

imagebox.image = null;
draw();  //implements the drawing of the bitmap and assigns to the imagebox/winform

Będzie to jednak działać tylko wtedy, gdy ukryję, a następnie ponownie wyświetlę formularz? Jak mogę to obejść?

EDYCJA: problem rozwiązany.

Odpowiedzi:

1 dla odpowiedzi № 1

Ułatw sobie ustawienie właściwości obrazu. Na przykład:

private Image mImage;

public Image Image {
get { return mImage; }
set {
mImage = value;
Invalidate();
}
}

Teraz widoczny obraz odświeża się automatycznie.


1 dla odpowiedzi nr 2

Czy próbowałeś nawiązać połączenie? Invalidate(imagebox.Bounds); na końcu draw() metoda?

To powinno wymusić odświeżenie, więc nie musisz już ukrywać i pokazywać formularza.


1 dla odpowiedzi nr 3

Powinieneś sprawdzić ten link Bob Powell GDI + FAQ. Jest kilka jasnych instrukcji dla niektórych z podstaw GDI, ten link prowadzi do przykładowego rysunku PictureBox.

Zasadniczo chcesz dołączyć do zdarzenia Paint dla ImageBox i wywołując Invalidate () za każdym razem, gdy chcesz ponownie rysować.