internal static PdfColors.LinearGradient ConvertLinearGradientBrush(LinearGradientBrush brush, double opacity, IPosition position, double width, double height) { Point startPoint = new Point(brush.StartPoint.X * width, brush.StartPoint.Y * height); Point endPoint = new Point(brush.EndPoint.X * width, brush.EndPoint.Y * height); var pdfGradient = new PdfColors.LinearGradient(startPoint, endPoint); pdfGradient.Position = position; foreach (GradientStop gradientStop in brush.GradientStops.OrderBy(x => x.Offset)) { var rgbColor = new PdfColors.RgbColor((byte)(gradientStop.Color.A * opacity), gradientStop.Color.R, gradientStop.Color.G, gradientStop.Color.B); pdfGradient.GradientStops.Add(new PdfColors.GradientStop(rgbColor, gradientStop.Offset)); } return pdfGradient; }
internal static PdfColors.LinearGradient ConvertLinearGradientBrush(LinearGradientBrush brush, double opacity, IPosition position, double width, double height) { Point startPoint = new Point(brush.StartPoint.X * width, brush.StartPoint.Y * height); Point endPoint = new Point(brush.EndPoint.X * width, brush.EndPoint.Y * height); var pdfGradient = new PdfColors.LinearGradient(startPoint, endPoint); pdfGradient.Position = position; foreach (GradientStop gradientStop in brush.GradientStops.OrderBy(x => x.Offset)) { var rgbColor = new PdfColors.RgbColor((byte)(gradientStop.Color.A * opacity), gradientStop.Color.R, gradientStop.Color.G, gradientStop.Color.B); pdfGradient.GradientStops.Add(new PdfColors.GradientStop(rgbColor, gradientStop.Offset)); } return(pdfGradient); }