Пример #1
0
        internal void DrawText(Graphics graphics, IImageParams destImageParams, ColorManagement colorManagement)
        {
            var text = CreateText(graphics);

            var color = ColorManagement.ConvertColor(colorManagement, TextColor, destImageParams);

            color      = color.ScaleAlpha(Opacity);
            text.Brush = new SolidBrush(color);

            RotateText(text, graphics.DpiX);

            graphics.DrawText(text);
        }
Пример #2
0
        internal override void Draw(Graphics graphics, IImageParams destImageParams, ColorManagement colorManagement)
        {
            var bounds = Bounds;

            if (bounds.Width <= 0 || bounds.Height <= 0)
            {
                return;
            }

            var dpi   = graphics.DpiX;
            var width = Width;

            if (width > 0)
            {
                var color = ColorManagement.ConvertColor(colorManagement, Color, destImageParams);
                color = color.ScaleAlpha(Opacity);
                graphics.DrawPath(new Pen(color, width), GetDrawingPath(dpi));
            }
        }
Пример #3
0
        internal override void Draw(Graphics graphics, IImageParams destImageParams, ColorManagement colorManagement)
        {
            var bounds = Bounds;

            if (bounds.Width <= 0 || bounds.Height <= 0)
            {
                return;
            }

            var dpi = graphics.DpiX;

            var width = GetWidth(dpi * graphics.Transform.Elements[0]);

            if (width > 0)
            {
                var paths = GetPaths();
                if (!Utils.EqualsOfFloatNumbers(dpi, 72))
                {
                    using (var matrix = new Matrix())
                    {
                        matrix.Scale(dpi / 72, dpi / 72, MatrixOrder.Append);
                        paths[0].ApplyTransform(matrix);
                        paths[1].ApplyTransform(matrix);
                    }
                }

                if (!Color.IsTransparent)
                {
                    var color = ColorManagement.ConvertColor(colorManagement, Color, destImageParams);
                    color = color.ScaleAlpha(Opacity);
                    graphics.DrawPath(new Pen(color, width), paths[0]);
                }

                if (!AltColor.IsTransparent)
                {
                    var altColor = ColorManagement.ConvertColor(colorManagement, AltColor, destImageParams);
                    altColor = altColor.ScaleAlpha(Opacity);
                    graphics.DrawPath(new Pen(altColor, width), paths[1]);
                }
            }
        }
Пример #4
0
        protected internal void FillShape(Graphics graphics, IImageParams destImageParams, ColorManagement colorManagement)
        {
            var bounds = Bounds;

            if (bounds.Width <= 0 || bounds.Height <= 0)
            {
                return;
            }

            if (FillColor.IsTransparent)
            {
                return;
            }

            using (var path = GetDrawingPath(graphics.DpiX))
            {
                var fillColor = ColorManagement.ConvertColor(colorManagement, FillColor, destImageParams);
                fillColor = fillColor.ScaleAlpha(Opacity);
                graphics.FillPath(new SolidBrush(fillColor), path);
            }
        }
Пример #5
0
        internal override void Draw(Graphics graphics, IImageParams destImageParams, ColorManagement colorManagement)
        {
            var dpi = graphics.DpiX;

            var bounds    = Bounds;
            var lineWidth = System.Math.Abs(GetLineWidth(dpi * graphics.Transform.Elements[0]));

            if (bounds.Width <= 0 || bounds.Height <= 0 || lineWidth <= 0)
            {
                return;
            }

            var paths = GetPaths();

            if (!Utils.EqualsOfFloatNumbers(dpi, 72))
            {
                using (var matrix = new Matrix())
                {
                    matrix.Scale(dpi / 72, dpi / 72, MatrixOrder.Append);
                    paths[0].ApplyTransform(matrix);
                    paths[1].ApplyTransform(matrix);
                }
            }

            if (!VerticalLineColor.IsTransparent)
            {
                var verticalLineColor = ColorManagement.ConvertColor(colorManagement, VerticalLineColor, destImageParams);
                verticalLineColor = verticalLineColor.ScaleAlpha(Opacity);
                graphics.DrawPath(new Pen(verticalLineColor, lineWidth), paths[0]);
            }

            if (!HorizontalLineColor.IsTransparent)
            {
                var horizontalLineColor = ColorManagement.ConvertColor(colorManagement, HorizontalLineColor, destImageParams);
                horizontalLineColor = horizontalLineColor.ScaleAlpha(Opacity);
                graphics.DrawPath(new Pen(horizontalLineColor, lineWidth), paths[1]);
            }
        }
Пример #6
0
        protected internal void StrokeShape(Graphics graphics, IImageParams destImageParams, ColorManagement colorManagement)
        {
            var bounds = Bounds;

            if (bounds.Width <= 0 || bounds.Height <= 0)
            {
                return;
            }

            var dpi         = graphics.DpiX;
            var borderWidth = GetBorderWidth(dpi * graphics.Transform.Elements[0]);

            if (Utils.EqualsOfFloatNumbers(0, borderWidth))
            {
                return;
            }

            using (var path = GetDrawingPath(dpi))
            {
                var borderColor = ColorManagement.ConvertColor(colorManagement, BorderColor, destImageParams);
                borderColor = borderColor.ScaleAlpha(Opacity);
                graphics.DrawPath(new Pen(borderColor, borderWidth), path);
            }
        }