Gå til innhold

C#: Hvordan definere to tegne lag med GDI+ og bare hente ut all grafikken fra det ene laget?


Gjest Slettet-aNZFa3

Anbefalte innlegg

Gjest Slettet-aNZFa3

Hvordan definere to tegne lag med GDI+ og bare hente ut all grafikken fra det ene laget?

Jeg har sikkert gått glipp av noe, og svaret er sikkert lekende lett, men jeg finner ikke ut av det :(

Lenke til kommentar
Videoannonse
Annonse
  • 4 uker senere...

Det er enkelt om du har en funksjon som returnerer en Graphics klasse. I den funksjonen har du to if-blokker som kjøres på booleans i argumentene til funksjonen. I de to if blokkene tegner du de to "lagene" dine. Hvis du bare skal ha ett av dem gjør du det slik.

 

void onpaint(object sender, PaintEventArgs e)
{
e.Graphics = DrawGraphics(true, false); // Eller false, true. Eller true, true
}

Lenke til kommentar

Du burde lage en klasse for hvert lag, fordi du må ha ett bitmap, og ett graphics objekt for hvert lag. Graphics objektet brukes for å tegne på laget.

 

Du lager en bitmap for hvert lag ved å bruke ønsket constructor til bitmap, og graphics objektet lages ved å kalle Graphics.FromImage(bmp); eksempelvis.

 

Deretter er det bare å legge den nye klassen din i en liste, og iterere gjennom dem i OnPaint eller Paint event.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...