J'essaie de créer 1 forme composite complexe sur un InkCanvas, mais je dois faire quelque chose de mal, car ce que je m'attendais à ce qu'il ne se produise pas. J'ai essayé plusieurs incarnations différentes d'accomplir ceci.(Composite) Confusion de géométrie dans C#
J'ai donc cette méthode.
private void InkCanvas_StrokeCollected(object sender, InkCanvasStrokeCollectedEventArgs e)
{
Stroke stroke = e.Stroke;
// Close the "shape".
StylusPoint firstPoint = stroke.StylusPoints[0];
stroke.StylusPoints.Add(new StylusPoint() { X = firstPoint.X, Y = firstPoint.Y });
// Hide the drawn shape on the InkCanvas.
stroke.DrawingAttributes.Height = DrawingAttributes.MinHeight;
stroke.DrawingAttributes.Width = DrawingAttributes.MinWidth;
// Add to GeometryGroup. According to http://msdn.microsoft.com/en-us/library/system.windows.media.combinedgeometry.aspx
// a GeometryGroup should work better at Unions.
_revealShapes.Children.Add(stroke.GetGeometry());
Path p = new Path();
p.Stroke = Brushes.Green;
p.StrokeThickness = 1;
p.Fill = Brushes.Yellow;
p.Data = _revealShapes.GetOutlinedPathGeometry();
selectionInkCanvas.Children.Clear();
selectionInkCanvas.Children.Add(p);
}
Mais voici ce que je reçois: http://img72.imageshack.us/img72/1286/actual.png
Alors, où vais-je tort?
TIA, Ed
Que voulez-vous atteindre?? –
Ce qui, dans mon esprit se produirait est-ce: http://img685.imageshack.us/img685/6761/expected.png –