예제 #1
0
        /// <summary>
        /// Dùng để tạo mới một đối tượng hình ảnh, dựa vào giá trị thiết lập hiện tại của người dùng
        /// </summary>
        private void AddShape()
        {
            Brush brush = CreateBrush();
            Pen   pen   = new Pen(color: lblBorderColor.BackColor, width: trbPenWidth.Value)
            {
                DashStyle = (DashStyle)cmbDashStyle.SelectedIndex,
            };

            switch (MyShape)
            {
            case SHAPES.LINE: DrawObj.Add(new MyLine(pen, brush)); break;

            case SHAPES.ELLIPSE: DrawObj.Add(new MyEllipse(pen, brush)); break;

            case SHAPES.RECTANGLE: DrawObj.Add(new MyRectangle(pen, brush)); break;

            case SHAPES.CURVE: DrawObj.Add(new MyCurve(pen, brush)); break;

            case SHAPES.CLOSEDCURVE: DrawObj.Add(new MyClosedCurve(pen, brush)); break;

            case SHAPES.POLYGON: DrawObj.Add(new MyPolygon(pen, brush)); break;

            case SHAPES.CUSTOM: DrawObj.Add(new MyPath(pen, brush)); break;

            case SHAPES.ARC: DrawObj.Add(new MyArc(pen, brush, trbStartAngle.Value, trbSweepAngle.Value)); break;
            }
            DrawObj[DrawObj.Count - 1].IsFilled     = this.Fill;
            DrawObj[DrawObj.Count - 1].IsDrawBorder = ckbBorder.Checked;
        }
예제 #2
0
 private bool Group()
 {
     if (DrawObj.Count(shape => shape.IsSelected) > 1)
     {
         DrawObj.Add(new Group(DrawObj));
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #3
0
 private void UnGroup()
 {
     for (int i = 0; i < DrawObj.Count; i++)
     {
         if (DrawObj[i].IsSelected)
         {
             if (DrawObj[i] is Group)
             {
                 Group myGroup = DrawObj[i] as Group;
                 //Chèn mỗi hình trong group vào lại trong List DrawObj
                 myGroup.shapesInGroup.ForEach(shape =>
                 {
                     DrawObj.Add(shape);
                     shape.IsSelected = true;
                 });
                 //Remove group khỏi list
                 DrawObj.Remove(myGroup);
             }
         }
     }
 }
예제 #4
0
 private bool Group()
 {
     if (DrawObj.Count(shape => shape.IsSelected) > 1)
     {
         Group group = new Group();
         for (int i = 0; i < DrawObj.Count; i++)
         {
             if (DrawObj[i].IsSelected)
             {
                 group.Add(DrawObj[i]);
                 DrawObj.RemoveAt(i--);
             }
         }
         group.IsSelected = true;
         DrawObj.Add(group);
         return(true);
     }
     else
     {
         return(false);
     }
 }