Toutes les parties d'un camemberts en une seule fonction
cs_Maxime31
Messages postés79Date d'inscriptionsamedi 4 février 2006StatutMembreDernière intervention28 juillet 2008
-
21 oct. 2007 à 13:03
JPGVB
Messages postés96Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention10 mars 2011
-
22 oct. 2007 à 09:09
BOnjour,
je réalise actuellement un petit programme qui permet la visualitation de stats sur des camemberts 2D créés avec graphics.fillpie.
Actuellement, pour réaliser un camembert complet, je fais comme ca
Public Sub FillPieRectangle2(ByVal e As PaintEventArgs) 'paramed
camemberttotal = ap + apm + vsavp + vsavm + CB
camembertpara = vsavp
proportion2 = Math.Round(camembertpara * 100 / camemberttotal)
Dim redBrush2 As New SolidBrush(Color.Red)
Dim rect2 As New Rectangle(0, 50, 200, 100)
Dim startAngle2 As Single = (proportion1 * 3.6)
Dim sweepAngle2 As Single = (proportion2 * 3.6)
TextBox3.Text = proportion2.ToString & " %"
e.Graphics.FillPie(redBrush2, rect2, startAngle2, sweepAngle2)
End Sub
Public Sub FillPieRectangle3(ByVal e As PaintEventArgs) 'med
camemberttotal = ap + apm + vsavp + vsavm + CB
camembertme = apm + vsavm + CB
proportion3 = Math.Round(camembertme * 100 / camemberttotal)
Dim redBrush3 As New SolidBrush(Color.Green)
Dim rect3 As New Rectangle(0, 50, 200, 100)
Dim startAngle3 As Single = (proportion1 + proportion2) * 3.6
Dim sweepAngle3 As Single = 360 - startAngle3 '(proportion3) * 3.6
e.Graphics.FillPie(redBrush3, rect3, startAngle3, sweepAngle3)
End Sub
J'appelle ensuite les différents morceaux pour creer mon graphique complet.
Y'a t'il une facon pour faire ca plus simplement ? Genre dans une même fonction cumuler toutes les parties du graphique, en rajoutant les angles successivement ?
A voir également:
Toutes les parties d'un camemberts en une seule fonction
JPGVB
Messages postés96Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention10 mars 20112 22 oct. 2007 à 09:09
Bonjour, je me suis posé la même question il y a quelques temps pour intégrer des camemberts dans un doc PDF.
J'ai choisi pour simplifier les manipulations de créer une fonction qui accepte comme paramètres : un tableau (valeurs et libellés associés)
X et Y coordonnées du centre du camembert
R, rayon du camembert
Dans cette fonction je commence par calculer le total des valeurs
puis je boucle sur le tableau en faisant un sous appel de la routin qui trace le camembert quartier par quartier.
Ainsi tu n'ppelle qu'une fonction, ce qui gagne beaucoup de temps lors des développements.
Cette technique te permet en outre de fixer les couleurs des quartiers à l'avance et de choisir des alternances bien visibles.
Mais il existe sûrement d'autres méthodes.
Bon courage.