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); }
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)); } }
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]); } } }
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); } }
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]); } }
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); } }