Esempio n. 1
0
        private ShapeRange traceBitmap(Shape s, Point p)
        {
            var sr = new ShapeRange();

            sr.RemoveAll();

            try
            {
                Shape dub = s.Duplicate(p.X, p.Y);
                dub.Bitmap.Resample(0, 0, true, 72, 72);
                dub.ApplyEffectBCI(-100, 100, -100);

                ShapeRange tr = dub.Bitmap.Trace(
                    cdrTraceType.cdrTraceLineArt, -1, 1,
                    cdrColorType.cdrColorCMYK,
                    cdrPaletteID.cdrCustom, 1, true, false, true
                    ).Finish();

                Shape path = tr.UngroupAllEx().Combine();
                path.Curve.Nodes.All().AutoReduce(0.01);
                sr.Add(path);

                if ((bool)cbBitmapToPowerClip.IsChecked)
                {
                    Shape clip = path.Duplicate(p.X * -1, p.Y * -1);
                    clip.OrderBackOf(s);
                    clip.Fill.ApplyNoFill();
                    clip.Outline.SetNoOutline();
                    s.AddToPowerClip(clip);
                    sr.Add(clip);
                }

                return(sr);
            }
            catch (Exception err)
            {
                MessageBox.Show(err.ToString(), MName, MessageBoxButton.OK, MessageBoxImage.Error);
                return(sr);
            }
        }
Esempio n. 2
0
 private void btnCrLineColor_Click(object sender, RoutedEventArgs e)
 {
     if (checkActive())
     {
         MessageBox.Show(err, "Lỗi", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     try
     {
         Size       s        = new Size(app.ActiveSelection.SizeWidth, app.ActiveSelection.SizeHeight);
         ShapeRange rowRange = app.ActiveSelectionRange;
         ShapeRange colRev   = app.ActiveSelectionRange;
         ShapeRange rowRev   = app.ActiveSelectionRange;
         colRev.RemoveAll();
         rowRev.RemoveAll();
         rowRange.RemoveAll();
         Size position = new Size(app.ActiveSelectionRange.PositionX, app.ActiveSelectionRange.PositionY);
         Size size     = new Size(s.x * numCol.Value, s.y * numRow.Value);
         app.ActiveSelection.Delete();
         Shape shapeCol = app.ActiveLayer.CreateLineSegment(position.x, position.y, position.x, position.y - size.y);
         shapeCol.Outline.Color.CMYKAssign(100, 0, 100, 0);
         double space = 0;
         for (int i = 0; i < numCol.Value; i++)
         {
             space += s.x;
             if (i % 2 == 0 || i == numCol.Value - 1)
             {
                 colRev.Add(shapeCol.Duplicate(space, 0));
             }
             else
             {
                 shapeCol.Duplicate(space, 0);
             }
         }
         shapeCol.OrderToFront();
         colRev.Flip(cdrFlipAxes.cdrFlipVertical);
         space = 0;
         Shape shapeRow = app.ActiveLayer.CreateLineSegment(position.x, position.y, position.x + size.x, position.y);
         shapeRow.Outline.Color.CMYKAssign(0, 100, 100, 0);
         rowRev.Add(shapeRow);
         for (int j = 0; j < numRow.Value; j++)
         {
             space += s.y;
             if (j % 2 != 0 || j == numRow.Value - 1)
             {
                 rowRev.Add(shapeRow.Duplicate(0, -space));
             }
             else
             {
                 rowRange.Add(shapeRow.Duplicate(0, -space));
             }
         }
         shapeRow.OrderToFront();
         rowRange.AddRange(rowRev);
         rowRange.OrderReverse();
         rowRev.Flip(cdrFlipAxes.cdrFlipHorizontal);
         app.ActiveLayer.CreateRectangle2(position.x, position.y - size.y, size.x, size.y).CreateSelection();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + "\n" + ex.Source, "Lỗi");
     }
 }
Esempio n. 3
0
        private void DoDrawCropMarks()
        {
            double     X, y, cx, cy;
            double     sx, sy, dx, ty;
            double     Off, l, Cu;
            long       N;
            ShapeRange sr = new ShapeRange();
            Shape      s, s1;
            ShapeRange AllShapes = new ShapeRange();

            this.StartEvent();
            app.ActiveDocument.Unit = cdrUnit.cdrMillimeter;
            app.ActiveDocument.PreserveSelection = false;
            app.ActiveDocument.Selection().GetBoundingBox(out X, out y, out cx, out cy, false);
            Off = (double)nudOffset.Value;
            l   = (double)nudLen.Value;
            sr.Add(DrawLine(X - Off - l, y, X - Off, y));
            sr.Add(DrawLine(X - Off - l, y + cy, X - Off, y + cy));
            sr.Add(DrawLine(X + cx + Off, y, X + cx + Off + l, y));
            sr.Add(DrawLine(X + cx + Off, y + cy, X + cx + Off + l, y + cy));
            sr.Add(DrawLine(X, y - Off - l, X, y - Off));
            sr.Add(DrawLine(X + cx, y - Off - l, X + cx, y - Off));
            sr.Add(DrawLine(X, y + Off + l + cy, X, y + Off + cy));
            sr.Add(DrawLine(X + cx, y + Off + l + cy, X + cx, y + Off + cy));
            AllShapes.Add(sr.Group());

            if (chkCu.Checked)
            {
                Cu = (double)nudCu.Value;
                sr.RemoveAll();
                sr.Add(DrawLine(X - Off - l, y + Cu, X - Off, y + Cu));
                sr.Add(DrawLine(X - Off - l, y + cy - Cu, X - Off, y + cy - Cu));
                sr.Add(DrawLine(X + cx + Off, y + Cu, X + cx + Off + l, y + Cu));
                sr.Add(DrawLine(X + cx + Off, y + cy - Cu, X + cx + Off + l, y + cy - Cu));
                sr.Add(DrawLine(X + Cu, y - Off - l, X + Cu, y - Off));
                sr.Add(DrawLine(X + cx - Cu, y - Off - l, X + cx - Cu, y - Off));
                sr.Add(DrawLine(X + Cu, y + Off + l + cy, X + Cu, y + Off + cy));
                sr.Add(DrawLine(X + cx - Cu, y + Off + l + cy, X + cx - Cu, y + Off + cy));
                AllShapes.Add(sr.Group());
            }

            if (chkZxsp.Checked)
            {
                sr.RemoveAll();
                sr.RemoveAll();
                sr.Add(DrawLine(X - Off - l, y + cy / 2, X, y + cy / 2));
                sr.Add(DrawLine(X + cx, y + cy / 2, X + cx + Off + l, y + cy / 2));
                Outline ol = new Outline();
                sr.SetOutlinePropertiesEx(-1, new OutlineStyle(), app.CreateCMYKColor(100, 100, 100, 100), null, null, cdrTriState.cdrFalse, cdrTriState.cdrFalse, cdrOutlineLineCaps.cdrOutlineButtLineCaps);
                //sr.SetOutlineProperties(0.2, new OutlineStyle(2));
                AllShapes.Add(sr.Group());
            }
            if (chkZxcz.Checked)
            {
                sr.RemoveAll();
                sr.Add(DrawLine(X + cx / 2, y + cy, X + cx / 2, y + cy + Off + l));
                sr.Add(DrawLine(X + cx / 2, y, X + cx / 2, y - Off - l));
                OutlineStyle ols = new OutlineStyle();
                sr.SetOutlineProperties(0.2, ols);

                AllShapes.Add(sr.Group());
            }
            if (chkJdsp.Checked)
            {
                Cu = (double)nudCu.Value;
                sr.RemoveAll();
                sr.Add(DrawLine(X - Off - l, y + cy / 2 + Cu, X - Off, y + cy / 2 + Cu));
                sr.Add(DrawLine(X - Off - l, y + cy / 2 - Cu, X - Off, y + cy / 2 - Cu));
                sr.Add(DrawLine(X + cx + Off, y + cy / 2 + Cu, X + cx + Off + l, y + cy / 2 + Cu));
                sr.Add(DrawLine(X + cx + Off, y + cy / 2 - Cu, X + cx + Off + l, y + cy / 2 - Cu));

                AllShapes.Add(sr.Group());
            }
            if (chkJdcz.Checked)
            {
                Cu = (double)nudCu.Value;
                sr.RemoveAll();
                sr.Add(DrawLine(X + cx / 2 + Cu, y + cy + Off, X + cx / 2 + Cu, y + cy + Off + l));
                sr.Add(DrawLine(X + cx / 2 - Cu, y + cy + Off, X + cx / 2 - Cu, y + cy + Off + l));
                sr.Add(DrawLine(X + cx / 2 + Cu, y - Off, X + cx / 2 + Cu, y - Off - l));
                sr.Add(DrawLine(X + cx / 2 - Cu, y - Off, X + cx / 2 - Cu, y - Off - l));

                AllShapes.Add(sr.Group());
            }

            AllShapes.Group();
            this.EndEvent();
        }