コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            Afbeelding afb = new Afbeelding(new Size(128, 128))
            {
                AntiAlias = checkBox1.Checked
            };
            ShapeLayer layer = new ShapeLayer();

            afb.Layers.Add(layer);

            Rechte r = new Rechte();

            r.Punt1.Coordinaat = new Point(10, 10);
            r.Punt2.Coordinaat = new Point(54, 54);
            layer.Vormen.Add(r);
            r.LijnStijl    = System.Drawing.Drawing2D.DashStyle.DashDotDot;
            r.LijnDikte    = 3;
            r.LijnKleur    = Color.Blue;
            r.Geselecteerd = true;

            Cirkel c = new Cirkel();

            c.O.Coordinaat = new Point(10, 10);
            c.M.Coordinaat = new Point(54, 54);
            layer.Vormen.Add(c);
            c.LijnStijl    = System.Drawing.Drawing2D.DashStyle.Dash;
            c.LijnDikte    = 1;
            c.LijnKleur    = Color.Red;
            c.OpvulType    = Vlak.OpvulSoort.RadialGradient;
            c.Kleur1       = Color.Green;
            c.Kleur2       = Color.Yellow;
            c.Geselecteerd = true;

            GeslotenKromme k = new GeslotenKromme();

            k.OpvulType = Vlak.OpvulSoort.Solid;
            k.Kleur1    = Color.Blue;
            k.Punten.AddRange(new Punt[]
            {
                new Punt()
                {
                    Coordinaat = new Point(20, 20)
                },
                new Punt()
                {
                    Coordinaat = new Point(20, 40)
                },
                new Punt()
                {
                    Coordinaat = new Point(40, 50)
                },
                new Punt()
                {
                    Coordinaat = new Point(60, 60)
                },
                new Punt()
                {
                    Coordinaat = new Point(20, 80)
                }
            });
            layer.Vormen.Add(k);
            k.Geselecteerd = true;


            Kromme v = new Kromme();

            /*v.OpvulType = Vlak.OpvulSoort.Hatch;
             * v.Kleur1 = Color.Purple;*/
            v.LijnKleur = Color.Green;
            v.LijnDikte = 3;
            v.LijnStijl = System.Drawing.Drawing2D.DashStyle.Dot;
            v.Punten.AddRange(new Punt[]
            {
                new Punt()
                {
                    Coordinaat = new Point(20, 20)
                },
                new Punt()
                {
                    Coordinaat = new Point(20, 40)
                },
                new Punt()
                {
                    Coordinaat = new Point(40, 50)
                },
                new Punt()
                {
                    Coordinaat = new Point(60, 60)
                },
                new Punt()
                {
                    Coordinaat = new Point(20, 80)
                }
            });
            layer.Vormen.Add(v);
            v.Geselecteerd = true;

            el              = new Ellips();
            el.OpvulType    = Vlak.OpvulSoort.Hatch;
            el.Kleur1       = Color.Purple;
            el.LijnKleur    = Color.Green;
            el.LijnDikte    = 3;
            el.LijnStijl    = System.Drawing.Drawing2D.DashStyle.Dot;
            el.Location     = new Point(30, 30);
            el.Size         = new Size(100, 40);
            el.Geselecteerd = true;
            layer.Vormen.Add(el);


            afbeeldingEditor1.Afbeelding = afb;
            afbeeldingEditor1.Schaal     = 2;
        }
コード例 #2
0
        public Brush GetBrush(Graphics gr, bool print)
        {
            Color k1 = Color.FromArgb(Convert.ToInt32(2.55f * Zichtbaarheid), kleur1);
            Color k2 = Color.FromArgb(Convert.ToInt32(2.55f * Zichtbaarheid), kleur2);

            switch (opvulsoort)
            {
            case OpvulSoort.Geen:
                return(Brushes.Transparent);

            case OpvulSoort.Solid:
                return(new SolidBrush(k1));

            case OpvulSoort.Hatch:
                return(new HatchBrush(vulstijl, k1, k2));

            case OpvulSoort.LinearGradient:
                Rectangle b = Bounds();
                return(new LinearGradientBrush(b, k1, k2, loophoek));

            case OpvulSoort.RadialGradient:
                Rectangle    rct  = Bounds();
                GraphicsPath path = new GraphicsPath();
                switch (Vorm_Type)
                {
                case Vorm_type.Cirkel:
                    path.AddEllipse(rct);
                    break;

                case Vorm_type.Ellips:
                    path.AddEllipse(rct);
                    break;

                case Vorm_type.Veelhoek:
                    Veelhoek v = (Veelhoek)this;
                    path.AddPolygon(v.Punten.Select(T => T.Coordinaat).ToArray());
                    break;

                case Vorm_type.GeslotenKromme:
                    GeslotenKromme k = (GeslotenKromme)this;
                    path.AddClosedCurve(k.Punten.Select(T => T.Coordinaat).ToArray());
                    break;

                case Vorm_type.CirkelSector:
                    path.AddEllipse(rct);
                    break;

                case Vorm_type.CirkelSegment:
                    path.AddEllipse(rct);
                    break;

                default:
                    break;
                }
                PathGradientBrush br = new PathGradientBrush(path);
                br.CenterPoint    = new PointF((rct.Left + rct.Right) / 2, (rct.Top + rct.Bottom) / 2);
                br.CenterColor    = k1;
                br.SurroundColors = new Color[] { k2 };
                return(br);

            default:
                return(new SolidBrush(k1));
            }
        }