예제 #1
0
        /// <summary>
        /// 鼠标创建控件时绘制图形
        /// </summary>
        /// <param name="g"></param>
        public override void CreatingPaint(Graphics g)
        {
            List <PointF> ds = /*CALCTool.CopyListPoint*/ (NodeDatas);

            if (ds != null && ds.Count > 1)
            {
                Pen p = PenData.CreatePen(Rect, Path);
                g.DrawLines(p, ds.ToArray());
                p.Dispose();
            }
        }
예제 #2
0
파일: PenManager.cs 프로젝트: siegjan6/HMI
        private void CreateContent(ref Pen content, RectangleF rf, GraphicsPath path)
        {
            const float redundancy = 0.1f;

            rf.Inflate(_data.Width / 2 + redundancy, _data.Width / 2 + redundancy);

            if (content != null)
            {
                content.Dispose();
            }
            content = _data.CreatePen(rf, path);
        }
예제 #3
0
파일: DrawBezier.cs 프로젝트: siegjan6/HMI
        public override void CreatingPaint(Graphics g)
        {
            List <PointF> ds = NodeDatas;

            if (ds != null && ds.Count > 1)
            {
                Pen           p   = PenData.CreatePen(Rect, Path);
                List <PointF> dis = MyTools.ConvertBeziers(NodeDatas, false);
                PointF[]      ary = dis.ToArray();
                g.DrawBeziers(p, ary);
                p.Dispose();
            }
        }
예제 #4
0
파일: DrawNodes.cs 프로젝트: siegjan6/HMI
        /// <summary>
        /// 更新流动画笔
        /// </summary>
        private void UpdateDisPen(bool IsStream)
        {
            if (disPen == null)
            {
                disPen = PenData.CreatePen(Rect, Path);
            }
            else if (disPen.Width != PenData.Width)
            {
                disPen.Dispose();
                disPen = PenData.CreatePen(Rect, Path);
            }

            if (IsStream)
            {
                if (disPen != null && disPen.DashStyle != DashStyle.Custom)
                {
                    float[] dashValues = { 1, 1 };
                    disPen.DashPattern = dashValues;
                }
            }
        }
예제 #5
0
        public override void CreatingPaint(Graphics g)
        {
            List <PointF> ds = NodeDatas;

            if (ds != null && ds.Count > 1)
            {
                Pen           p    = PenData.CreatePen(Rect, Path);
                Brush         br   = BrushData.CreateBrush(Rect, Path);
                List <PointF> list = MyTools.ConvertBeziers(ds, true);

                if (list.Count > 0)
                {
                    GraphicsPath path = new GraphicsPath();
                    path.AddBeziers(list.ToArray());
                    g.FillPath(br, path);
                    g.DrawPath(p, path);
                }
                p.Dispose();
                br.Dispose();
            }
        }