Velena Skrevet 27. september 2009 Del Skrevet 27. september 2009 (endret) Det jeg gjør er å male en sirkel på et bitmap med Graphics.FillEllipse(). Tingen er at fargen til denne sirkelen ikke nødvendigvis har en alpha på 255, hvilket resulterer i at fargen under sirkelen noen ganger skinner igjennom, noe jeg ikke vil. Spørsmålet er da hvordan jeg kan unngå dette. Jeg prøvde å lage en funksjon som skulle løse problemet: void SetCircleColor(ref Bitmap bitmap, Rectangle circle, Color color) { int r = circle.Width / 2; int intervalStart,intervalEnd; for (int i = 0; i < circle.Width; i++) { intervalEnd =(int) Math.Sqrt((r * r) - ((i - r) * (i - r)))+r;// kvadratroten av hyp^2 - mot^2 = hos intervalStart =2*r-intervalEnd; for (int j = intervalStart; i < intervalEnd; i++) bitmap.SetPixel(circle.X+i,circle.Y+ j, color); } } men denne virker desverre ikke (Noe er galt med posisjonskalkuleringen). Dette virker uansett ikke spesiellt effektivt, så jeg håper noen kan komme med et alternativ, eller eventuellt gi et inspill på hva som er galt med funksjonen. Takk på forhånd for all hjelp. Edit: Det ser ut til at jeg har gjort en feilbedømmning av hva som er galt med programmet. Problemet kan ansees som løst. Endret 27. september 2009 av Velena Lenke til kommentar
Degeim Skrevet 27. september 2009 Del Skrevet 27. september 2009 Noe slikt? void SetCircleColor(ref Bitmap bitmap, Rectangle circle, Color color) { int r = circle.Width / 2; Graphics g = Graphics.FromImage(bitmap); g.FillEllipse(new SolidBrush(color), circle); } Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå