Click here to Skip to main content
Rate this: bad
Please Sign up or sign in to vote.
See more: C# graphics geometry
The problem is the following.
I have 2 arrays of points. In a graphics I need to paint the polygon (array 1) without painting the inside (array 2), As this image.[^]
Any idea how to do this in C#?
Posted 30-Jan-13 0:03am
Edited 30-Jan-13 0:04am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

hello, I found the solution.
In graphics I changed the CompositingMode that determines when to paint a polygon on the other it is overwritten and not superimposed.

Bitmap img = new Bitmap( 200, 200 );
Graphics imgGraph = Graphics.FromImage( img );
imgGraph.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
imgGraph.FillPolygon( Brushes.Red, Points1 );
imgGraph.FillPolygon( Brushes.Transparent, Points2 );


That's all folks!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 490
1 Gihan Liyanage 338
2 ChauhanAjay 180
3 Vinay Mistry 160
4 Sergey Alexandrovich Kryukov 153
0 Sergey Alexandrovich Kryukov 9,011
1 OriginalGriff 7,941
2 CPallini 2,603
3 Richard MacCutchan 2,121
4 Abhinav S 1,928

Advertise | Privacy | Mobile
Web03 | 2.8.140827.1 | Last Updated 30 Jan 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100