コード例 #1
0
ファイル: ArtBoard.cs プロジェクト: satochibi/MNGDraw
        public void GenerateBezierPath(PathPreviewAlgorithms pathPreview)
        {
            BezierHandle prevBezierHandle = null;
            bool         firstMove        = true;

            foreach (var aBezierHandle in this.BezierHandleList)
            {
                if (prevBezierHandle == null)
                {
                    prevBezierHandle = aBezierHandle;
                    continue;
                }

                if (firstMove)
                {
                    this.InProgressPath.MoveTo(prevBezierHandle.AnchorPoint);
                    firstMove = false;
                }

                this.InProgressPath.CubicTo(
                    prevBezierHandle.MouseControlPoint,
                    aBezierHandle.TheOtherControlPoint,
                    aBezierHandle.AnchorPoint);

                prevBezierHandle = aBezierHandle;
            }

            if (pathPreview == PathPreviewAlgorithms.LinearClose)
            {
                this.InProgressPath.Close();
            }
            else if (pathPreview == PathPreviewAlgorithms.Close)
            {
                this.InProgressPath.CubicTo(
                    this.BezierHandleList.Last().MouseControlPoint,
                    this.BezierHandleList.First().TheOtherControlPoint,
                    this.BezierHandleList.First().AnchorPoint);
                this.InProgressPath.Close();
            }
        }
コード例 #2
0
        private void PathPreviewPickerChanged(object sender, EventArgs e)
        {
            switch (pathPreviewPicker.SelectedItem as string)
            {
            default:
            case "Open":
                this.pathPreview = PathPreviewAlgorithms.Open;
                break;

            case "LinearClose":
                this.pathPreview = PathPreviewAlgorithms.LinearClose;
                break;

            case "Close":
                this.pathPreview = PathPreviewAlgorithms.Close;
                break;
            }

            //保存
            SaveProperties.PathPreviewAlgorithms = pathPreviewPicker.SelectedIndex;

            pathPreviewCanvasView.InvalidateSurface();
        }