Ejemplo n.º 1
0
        private void TestGdiPlus(GraphicsPlus graphics)
        {
            graphics.DrawImage(bmp, 0, 0, ClientRectangle.Width, ClientRectangle.Height);

            PenPlus pen;

            graphics.SetSmoothingMode(SmoothingMode.SmoothingModeAntiAlias);

            pen = new PenPlus(Color.Black, 15);
            pen.SetEndCap(LineCap.LineCapRound);
            pen.SetStartCap(LineCap.LineCapRound);

            pen.SetWidth(3);

            pen.SetColor(Color.FromArgb(0x7f7f7f7f));
            pen.SetWidth(40);
            graphics.DrawLine(pen, 20, 20, ClientRectangle.Right - 20, ClientRectangle.Bottom - 20);
            graphics.DrawLine(pen, ClientRectangle.Right - 20, 20, 20, ClientRectangle.Bottom - 20);

            SmoothingMode mode = graphics.GetSmoothingMode();

            graphics.SetSmoothingMode(SmoothingMode.SmoothingModeAntiAlias);
            foreach (GraphicsPath p in allPaths)
            {
                graphics.DrawPath(penWrite, p);
            }
            graphics.SetSmoothingMode(mode);
            pen.Dispose();
        }
Ejemplo n.º 2
0
        private void Draw(Graphics graphics, GraphicsPlus g)
        {
            StringFormat sf = new StringFormat();

            sf.LineAlignment = sf.Alignment = System.Drawing.StringAlignment.Center;
            int        deltaH = ClientRectangle.Height / 8;
            GpRectF    rc     = new GpRectF(0, 0, ClientRectangle.Width, deltaH);
            RectangleF rcf    = new RectangleF(0, 0, ClientRectangle.Width, deltaH);

            using (SolidBrush brText = new SolidBrush(Color.Black))
                using (Font fnt = new Font("Tahoma", 9, System.Drawing.FontStyle.Bold))
                {
                    penSolid.SetWidth(15);
                    g.DrawLine(penSolid, 5, rcf.Top + 10, rc.Width - 10, rcf.Top + 10);
                    graphics.DrawString("Solid with caps", fnt, brText, rcf, sf);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);

                    SmoothingMode mode = g.GetSmoothingMode();
                    g.SetSmoothingMode(SmoothingMode.SmoothingModeAntiAlias);

                    penSolid.SetColor(Color.Blue);
                    g.DrawLine(penSolid, 5, rcf.Top + 10, rc.Width - 10, rcf.Top + 10);
                    graphics.DrawString("Solid with caps and anitalising", fnt, brText, rcf, sf);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);

                    g.DrawLine(penHatch, 5, rcf.Top + 10, rc.Width - 10, rcf.Top + 10);
                    graphics.DrawString("Hatched", fnt, brText, rcf, sf);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);

                    penSolidTrans.SetWidth(20);
                    penSolidTrans.SetLineCap(LineCap.LineCapRound, LineCap.LineCapDiamondAnchor, DashCap.DashCapRound);
                    graphics.DrawString("Solid with transparency", fnt, brText, rcf, sf);
                    g.DrawLine(penSolidTrans, 15, rcf.Top + 10, rc.Width - 30, rcf.Top + 10);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);

                    g.SetSmoothingMode(SmoothingMode.SmoothingModeAntiAlias);
                    brText.Color = Color.White;
                    g.DrawLine(penSolidCustomCap, 15, rcf.Top + 15, rc.Width - 50, rcf.Top + 15);
                    graphics.DrawString("Custom cap", fnt, brText, rcf, sf);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);
                    g.SetSmoothingMode(mode);

                    brText.Color = Color.Gray;
                    g.DrawLine(penDash, 5, rcf.Top + 10, rc.Width - 10, rcf.Top + 10);
                    graphics.DrawString("Dash (round)", fnt, brText, rcf, sf);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);

                    brText.Color = Color.White;
                    g.DrawLine(penGradient, 15, rcf.Top + 20, rc.Width - 30, rcf.Top + 20);
                    graphics.DrawString("Gradient brush-based", fnt, brText, rcf, sf);
                    rcf.Y += deltaH; rc.Offset(0, deltaH);
                }
        }