public void CmykColorImplementsEquals() { CmykColor first = CmykColor.FromColor(Color.White); CmykColor second = CmykColor.FromColor(Color.White); first.Equals(second).Should().BeTrue("because the color structure should implement Equals()"); }
private static void RgbToCmykWithoutColorManagement() { RgbColor rgbColor = new RgbColor(253, 202, 12); CmykColor cmykColor = new CmykColor(rgbColor); Console.WriteLine("Without color management: {0} to {1}", rgbColor, cmykColor); }
/// <summary> /// Draw the given symbol to fill the rectange in that graphics. /// </summary> /// <param name="g">Graphics to draw in.</param> /// <param name="color">Color to use for drawing.</param> /// <param name="rect">The rectange to fill.</param> public void Draw(IGraphicsTarget g, CmykColor color, RectangleF rect) { Matrix matNew = new Matrix(); matNew.Translate((rect.Left + rect.Right) / 2.0F, (rect.Top + rect.Bottom) / 2.0F); if (kind >= 'T') { // An instructional directive that spans 8 columns matNew.Scale(rect.Width / 1600.0F, -rect.Height / 200.0F); } else { // Regular square symbol. matNew.Scale(rect.Width / 200.0F, -rect.Height / 200.0F); } g.PushTransform(matNew); for (int i = 0; i < strokes.Length; ++i) { strokes[i].Draw(g, color); } g.PopTransform(); }
private static void CmykToRgbWithoutColorManagement() { CmykColor cmykColor = new CmykColor(20, 42, 211, 40); RgbColor rgbColor = new RgbColor(cmykColor); Console.WriteLine("Without color management: {0} to {1}", cmykColor, rgbColor); }
private static void LabToCmykWithColorManagement() { LabColor labColor = new LabColor(179, -20, 29, 255); CmykColor cmykColor = labColor.To <CmykColor>("../../../../_Input/ColorProfiles/ISOcoated_v2_eci.icc"); Console.WriteLine("With color management: {0} to {1}", labColor, cmykColor); }
public SpecialColorChooser(ComboBox comboBox, Button button, CmykColor purpleColor) { this.comboBox = comboBox; this.button = button; this.purpleColor = purpleColor; InitColors(purpleColor); WireEvents(); Color = SpecialColor.Black; }
public static ICmykColor MakeCMYK(MakeBasicColors.basicColorEnum basicColorEnum_0) { ICmykColor cmykColorClass = new CmykColor() { RGB = MakeBasicColors.MakeRGB(basicColorEnum_0).RGB }; return(cmykColorClass); }
private void ReadColors(BinaryReader reader, Swatch swatch, int count, short version) { for (int i = 0; i < count; i++) { var space = (ColorSpace)reader.ReadInt16(); var item1 = reader.ReadUInt16(); var item2 = reader.ReadUInt16(); var item3 = reader.ReadUInt16(); var item4 = reader.ReadUInt16(); ColorBase color = null; switch (space) { case ColorSpace.RGB: color = new RgbColor(Convert.ToByte(item1 / 256), Convert.ToByte(item2 / 256), Convert.ToByte(item3 / 256)); break; case ColorSpace.HSB: color = new HsvColor(item1 / 65535f, item2 / 65535f, item3 / 65535f); break; case ColorSpace.Grayscale: color = new GrayColor(item1 / 10000f); break; case ColorSpace.CMYK: color = new CmykColor(1f - (item1 / 65535f), 1f - (item2 / 65535f), 1f - (item3 / 65535f), 1f - (item4 / 65535f)); break; case ColorSpace.WideCMYK: color = new CmykColor(item1 / 10000f, item2 / 10000f, item3 / 10000f, item4 / 10000f); break; case ColorSpace.Lab: color = new LabColor((short)(item1 / 100), (short)(item2 / 100), (short)(item3 / 100)); break; default: break; } if (version == 2) { reader.ReadBytes(2); var nameLength = reader.ReadInt16() * 2; if (nameLength > 0) { var nameBuffer = reader.ReadBytes(nameLength); color.Name = Encoding.BigEndianUnicode.GetString(nameBuffer, 0, nameLength - 2); } } swatch.Colors.Add(color); } }
internal static ICmyk TranslateColor(IRgb rgb, Uri cmykProfile, Uri rgbProfile) { const double dividend = 65535; var profileName = new StringBuilder(256); var size = (uint)profileName.Capacity * 2; ProfileFilename sRgbFilename; if (rgbProfile == null) { GetStandardColorSpaceProfile(0, LogicalColorSpace.SRgb, profileName, ref size); sRgbFilename = new ProfileFilename(profileName.ToString()); } else { sRgbFilename = new ProfileFilename(rgbProfile.LocalPath); } var hSRgbProfile = OpenColorProfile(sRgbFilename, ProfileRead, FileShare.Read, CreateDisposition.OpenExisting); var isoCoatedFilename = new ProfileFilename(cmykProfile.LocalPath); var hIsoCoatedProfile = OpenColorProfile(isoCoatedFilename, ProfileRead, FileShare.Read, CreateDisposition.OpenExisting); var profiles = new[] { hSRgbProfile, hIsoCoatedProfile }; var intents = new[] { IntentPerceptual }; var transform = CreateMultiProfileTransform(profiles, 2, intents, 1, ColorTransformMode.BestMode, IndexDontCare); var rgbColors = new RgbColor[1]; rgbColors[0] = new RgbColor(); var cmykColors = new CmykColor[1]; cmykColors[0] = new CmykColor(); rgbColors[0].red = (ushort)(rgb.R * dividend / 255.0); rgbColors[0].green = (ushort)(rgb.G * dividend / 255.0); rgbColors[0].blue = (ushort)(rgb.B * dividend / 255.0); TranslateColors(transform, rgbColors, 1, ColorType.Rgb, cmykColors, ColorType.Cmyk); DeleteColorTransform(transform); CloseColorProfile(hSRgbProfile); CloseColorProfile(hIsoCoatedProfile); return(new Cmyk { C = cmykColors[0].cyan / dividend, M = cmykColors[0].magenta / dividend, Y = cmykColors[0].yellow / dividend, K = cmykColors[0].black / dividend }); }
public void then_should_return_bracketed_cmyk_colors_given_color() { // Arrange var cmyk = CmykColor.FromCmykColor(100f, 100f, 100f, 10f); // Act var s = cmyk.ToString(); // Assert Assert.That(s, Is.EqualTo("CmykColor [ C=100, M=100, Y=100, K=10]")); }
private static void RgbToCmykWithColorManagement() { RgbColor rgbColor = new RgbColor(253, 202, 12) { Profile = ColorProfile.FromSrgb() }; CmykColor cmykColor = rgbColor.To <CmykColor>("../../../../_Input/ColorProfiles/ISOcoated_v2_eci.icc", transformationIntent: ColorTransformationIntent.Perceptual); Console.WriteLine("With color management: {0} to {1}", rgbColor, cmykColor); }
public void CmykColorShouldConvertToAndFromString(string expected) { Color color = ColorTranslator.FromHtml(expected); CmykColor cmykColor = CmykColor.FromColor(color); Debug.Print(cmykColor.ToString()); string result = ColorTranslator.ToHtml(cmykColor); result.Should().Be(expected); }
private static void CmykToRgbWithColorManagement() { CmykColor cmykColor = new CmykColor(20, 42, 211, 40) { Profile = new ColorProfile("../../../../_Input/ColorProfiles/ISOcoated_v2_eci.icc") }; RgbColor rgbColor = cmykColor.To <RgbColor>(ColorProfile.FromSrgb()); Console.WriteLine("With color management: {0} to {1}", cmykColor, rgbColor); }
private void InitColors(CmykColor purpleColor) { comboBox.Items.Add(new ColorAndText(MiscText.Black, SpecialColor.Black, CmykColor.FromCmyk(0, 0, 0, 1))); comboBox.Items.Add(new ColorAndText(MiscText.Purple, SpecialColor.Purple, purpleColor)); comboBox.Items.Add(new ColorAndText(MiscText.Red, CmykColor.FromCmyk(0, 1, 1, 0))); comboBox.Items.Add(new ColorAndText(MiscText.Yellow, CmykColor.FromCmyk(0, 0, 1, 0))); comboBox.Items.Add(new ColorAndText(MiscText.Green, CmykColor.FromCmyk(1, 0, 1, 0))); comboBox.Items.Add(new ColorAndText(MiscText.LightBlue, CmykColor.FromCmyk(1, 0, 0, 0))); comboBox.Items.Add(new ColorAndText(MiscText.DarkBlue, CmykColor.FromCmyk(1, 1, 0, 0))); comboBox.Items.Add(new ColorAndText(MiscText.CustomColor, null, null)); }
public override SD.Color ToColor(CmykColor cmykColor) { try { return CmykToRgbColor(cmykColor); } catch (Exception) { // In some cases, a weirdly installed .NET framework will cause an exception here. System.Windows.Forms.MessageBox.Show(MiscText.BadDotNetFramework, MiscText.AppTitle); Environment.Exit(1); return new SD.Color(); } }
public override SD.Color ToColor(CmykColor cmykColor) { try { return(CmykToRgbColor(cmykColor)); } catch (Exception) { // In some cases, a weirdly installed .NET framework will cause an exception here. System.Windows.Forms.MessageBox.Show(MiscText.BadDotNetFramework, MiscText.AppTitle); Environment.Exit(1); return(new SD.Color()); } }
// Create pens and fonts we use. void CreateObjects(IGraphicsTarget g) { CmykColor black = CmykColor.FromCmyk(0, 0, 0, 1); blackBrush = new object(); g.CreateSolidBrush(blackBrush, black); thinPen = new object(); g.CreatePen(thinPen, black, PunchcardAppearance.thinLine, LineCap.Flat, LineJoin.Miter, 5F); thickPen = new object(); g.CreatePen(thickPen, black, PunchcardAppearance.thickLine, LineCap.Flat, LineJoin.Miter, 5F); textMetrics = new GDIPlus_TextMetrics(); }
public override SWM.Color ToColor(CmykColor cmykColor) { SWM.Color result; if (!cmykToColor.TryGetValue(cmykColor, out result)) { float[] colorValues = { cmykColor.Cyan, cmykColor.Magenta, cmykColor.Yellow, cmykColor.Black }; result = SWM.Color.FromValues(colorValues, SwopColorConverter.SwopUri); cmykToColor[cmykColor] = result; } return(result); }
public void CmykTo() { CmykColor cmyk = new CmykColor(0.05882352941176472, 0.027450980392156876, 0, 0, 0.5); Assert.AreEqual(0.5, cmyk.ToCmy().Alpha, "To CMY"); Assert.AreEqual(0.5, cmyk.ToCmyk().Alpha, "To CMYK"); Assert.AreEqual(0.5, cmyk.ToHsl().Alpha, "To HSL"); Assert.AreEqual(0.5, cmyk.ToHsv().Alpha, "To HSV"); Assert.AreEqual(0.5, cmyk.ToRgb().Alpha, "To RGB"); }
public void then_should_return_rgba_version_of_cmyk_color_given_red() { // Arrange var cmykColor = CmykColor.FromColor(Color.Red); // Act var rgbaColor = (RgbaColor)cmykColor; // Assert Assert.That(rgbaColor.R, Is.EqualTo(255)); Assert.That(rgbaColor.G, Is.EqualTo(0)); Assert.That(rgbaColor.B, Is.EqualTo(0)); Assert.That(rgbaColor.A, Is.EqualTo(255)); }
public void Draw(IGraphicsTarget g, CmykColor color) { object brush = new object(); object pen = new object(); if (kind == SymbolStrokes.Circle || kind == SymbolStrokes.Polyline || kind == SymbolStrokes.Polygon || kind == SymbolStrokes.PolyBezier) { g.CreatePen(pen, color, thickness, ends, corners, 5); } else { g.CreateSolidBrush(brush, color); } switch (kind) { case SymbolStrokes.Disc: g.FillEllipse(brush, points[0], radius, radius); break; case SymbolStrokes.Circle: g.DrawEllipse(pen, points[0], radius, radius); break; case SymbolStrokes.Polyline: g.DrawPolyline(pen, points); break; case SymbolStrokes.Polygon: g.DrawPolygon(pen, points); break; case SymbolStrokes.FilledPolygon: g.FillPolygon(brush, points, FillMode.Alternate); break; case SymbolStrokes.PolyBezier: g.DrawPath(pen, CreateBezierPath(points)); break; case SymbolStrokes.FilledPolyBezier: g.FillPath(brush, CreateBezierPath(points)); break; default: Debug.Fail("Bad SymbolStroke kind"); break; } }
public void then_should_return_hsla_version_of_cmyk_color_given_red() { // Arrange var cmykColor = CmykColor.FromColor(Color.Red); // Act var hslaColor = (HslaColor)cmykColor; // Assert Assert.That(hslaColor.H, Is.EqualTo(0)); Assert.That(hslaColor.S, Is.EqualTo(1.0f)); Assert.That(hslaColor.L, Is.EqualTo(.5f)); Assert.That(hslaColor.A, Is.EqualTo(1.0f)); }
public void then_should_return_cmyk_version_of_system_drawing_color_given_red() { // Arrange var color = Color.Red; // Act CmykColor cmyk = color; // Assert Assert.That(cmyk.C, Is.EqualTo(0)); Assert.That(cmyk.M, Is.EqualTo(100)); Assert.That(cmyk.Y, Is.EqualTo(100)); Assert.That(cmyk.K, Is.EqualTo(0)); }
private void CustomizeColor(CmykColor color) { ColorChooserDialog colorChooserDialog = new ColorChooserDialog(); colorChooserDialog.Color = color; if (colorChooserDialog.ShowDialog() == DialogResult.OK) { Color = new SpecialColor(colorChooserDialog.Color); } colorChooserDialog.Dispose(); comboBox.Invalidate(); SendChangeNotification(); }
public LinePropertiesDialog(string dialogTitle, string usageText, CmykColor purpleColor, CourseAppearance appearance) { InitializeComponent(); this.appearance = appearance; if (!appearance.useDefaultPurple) { purpleColor = CmykColor.FromCmyk(appearance.purpleC, appearance.purpleM, appearance.purpleY, appearance.purpleK); } this.purpleColor = SwopColorConverter.CmykToRgbColor(purpleColor); colorChooser = new SpecialColorChooser(comboBoxColor, buttonChangeColor, purpleColor); colorChooser.ColorChanged += colorChooser_ColorChanged; LineKind = PurplePen.LineKind.Single; this.Text = dialogTitle; usageLabel.Text = usageText; }
private ColorBase ReadColorBlock(BinaryReader reader) { var value1 = 0f; var value2 = 0f; var value3 = 0f; var value4 = 0f; var colorMode = Encoding.ASCII.GetString(reader.ReadBytes(4)); ColorBase color; switch (colorMode) { case "RGB ": value1 = reader.ReadSingle(); value2 = reader.ReadSingle(); value3 = reader.ReadSingle(); color = new RgbColor(Convert.ToByte(255 * value1), Convert.ToByte(255 * value2), Convert.ToByte(255 * value3)); break; case "CMYK": value1 = reader.ReadSingle(); value2 = reader.ReadSingle(); value3 = reader.ReadSingle(); value4 = reader.ReadSingle(); color = new CmykColor(value1, value2, value3, value4); break; case "Gray": value1 = reader.ReadSingle(); color = new GrayColor(value1); break; case "LAB ": value1 = reader.ReadSingle(); value2 = reader.ReadSingle(); value3 = reader.ReadSingle(); color = new LabColor(value1 * 100, value2, value3); break; default: throw new InvalidDataException($"Unsupported color mode '{colorMode}'."); } var colorSpace = (ColorType)reader.ReadInt16(); return(color); }
public ChangeText(string title, string explanation, bool allowSpecialTextInsert, CmykColor purpleColor, Func<string, string> textExpander) : this() { InitializeFontList(); this.textExpander = textExpander; this.purpleColor = purpleColor; colorChooser = new SpecialColorChooser(comboBoxColor, buttonChangeColor, purpleColor); colorChooser.ColorChanged += colorChanged; this.Text = title; this.usageLabel.Text = explanation; if (!allowSpecialTextInsert) insertSpecialButton.Visible = false; textBoxMain_TextChanged(this, EventArgs.Empty); }
public void ToCmyk() { foreach (HtmlColorSample sample in HtmlColorSamples.All) { int r = sample.Rgb.Red; int g = sample.Rgb.Green; int b = sample.Rgb.Blue; RgbColor rgb = new RgbColor(r, g, b); double c1 = sample.Cmyk.Cyan; double m1 = sample.Cmyk.Magenta; double y1 = sample.Cmyk.Yellow; double k1 = sample.Cmyk.Key; ColorUtils.RgbToCmyk(r, g, b, out double c2, out double m2, out double y2, out double k2); Assert.AreEqual(c1.ToString("N2"), c2.ToString("N2"), "#1 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), m2.ToString("N2"), "#1 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), y2.ToString("N2"), "#1 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), k2.ToString("N2"), "#1 K (" + sample.Name + ")"); CmykColor cmyk1 = ColorUtils.RgbToCmyk(r, g, b); Assert.AreEqual(c1.ToString("N2"), cmyk1.C.ToString("N2"), "#2 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), cmyk1.M.ToString("N2"), "#2 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), cmyk1.Y.ToString("N2"), "#2 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), cmyk1.K.ToString("N2"), "#2 K (" + sample.Name + ")"); ColorUtils.RgbToCmyk(rgb, out double c3, out double m3, out double y3, out double k3); Assert.AreEqual(c1.ToString("N2"), c3.ToString("N2"), "#3 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), m3.ToString("N2"), "#3 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), y3.ToString("N2"), "#3 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), k3.ToString("N2"), "#3 K (" + sample.Name + ")"); CmykColor cmyk2 = ColorUtils.RgbToCmyk(rgb); Assert.AreEqual(c1.ToString("N2"), cmyk2.C.ToString("N2"), "#4 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), cmyk2.M.ToString("N2"), "#4 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), cmyk2.Y.ToString("N2"), "#4 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), cmyk2.K.ToString("N2"), "#4 K (" + sample.Name + ")"); CmykColor cmyk3 = rgb.ToCmyk(); Assert.AreEqual(c1.ToString("N2"), cmyk3.C.ToString("N2"), "#5 C (" + sample.Name + ")"); Assert.AreEqual(m1.ToString("N2"), cmyk3.M.ToString("N2"), "#5 M (" + sample.Name + ")"); Assert.AreEqual(y1.ToString("N2"), cmyk3.Y.ToString("N2"), "#5 Y (" + sample.Name + ")"); Assert.AreEqual(k1.ToString("N2"), cmyk3.K.ToString("N2"), "#5 K (" + sample.Name + ")"); } }
// Draw the map and course onto a bitmap of the given size. The given rectangle is mapped onto the whole bitmap, then // the given clip region is applied. public void Draw(Bitmap bitmap, Matrix transform, Region clipRegion = null) { Debug.Assert(colorModel == ColorModel.CMYK || colorModel == ColorModel.RGB); GDIPlus_ColorConverter colorConverter = (colorModel == ColorModel.CMYK) ? new SwopColorConverter() : new GDIPlus_ColorConverter(); if (bitmap.Height == 0 || bitmap.Width == 0) { return; } // Note that courses always drawn full intensity. using (var grTargetDimmed = new GDIPlus_BitmapGraphicsTarget(bitmap, CmykColor.FromCmyk(0, 0, 0, 0), transform, colorConverter, mapIntensity)) using (var grTargetUndimmed = new GDIPlus_BitmapGraphicsTarget(bitmap, null, transform, colorConverter)) { float minResolution = GetMinResolution(transform); RectangleF clipBounds = grTargetDimmed.Graphics.ClipBounds; DrawHelper(grTargetDimmed, grTargetUndimmed, grTargetUndimmed, clipBounds, minResolution); } }
public LinePropertiesDialog(string dialogTitle, string usageText, string helpTopic, CmykColor purpleColor, CourseAppearance appearance) { InitializeComponent(); this.appearance = appearance; if (!appearance.useDefaultPurple) { purpleColor = CmykColor.FromCmyk(appearance.purpleC, appearance.purpleM, appearance.purpleY, appearance.purpleK); } this.purpleColor = SwopColorConverter.CmykToRgbColor(purpleColor); colorChooser = new SpecialColorChooser(comboBoxColor, buttonChangeColor, purpleColor); colorChooser.ColorChanged += colorChooser_ColorChanged; LineKind = PurplePen.LineKind.Single; this.Text = dialogTitle; this.HelpTopic = helpTopic; usageLabel.Text = usageText; }
public ChangeText(string title, string explanation, bool allowSpecialTextInsert, CmykColor purpleColor, Func <string, string> textExpander) : this() { InitializeFontList(); this.textExpander = textExpander; this.purpleColor = purpleColor; colorChooser = new SpecialColorChooser(comboBoxColor, buttonChangeColor, purpleColor); colorChooser.ColorChanged += colorChanged; this.Text = title; this.usageLabel.Text = explanation; if (!allowSpecialTextInsert) { insertSpecialButton.Visible = false; } textBoxMain_TextChanged(this, EventArgs.Empty); }
public static SD.Color CmykToRgbColor(CmykColor cmykColor) { SD.Color result; if (cmykColor.Cyan == 0 && cmykColor.Magenta == 0 && cmykColor.Yellow == 0 && cmykColor.Black == 0) { // The default mapping doesn't quite map white to pure white. if (cmykColor.Alpha == 1) { return(SD.Color.White); } else { return(SD.Color.FromArgb((byte)Math.Round(cmykColor.Alpha * 255), SD.Color.White)); } } if (cmykColor.Black == 1) { // The default mapping doesn't quite map black to pure black. if (cmykColor.Alpha == 1) { return(SD.Color.Black); } else { return(SD.Color.FromArgb((byte)Math.Round(cmykColor.Alpha * 255), SD.Color.Black)); } } if (!cmykToColor.TryGetValue(cmykColor, out result)) { float[] colorValues = { cmykColor.Cyan, cmykColor.Magenta, cmykColor.Yellow, cmykColor.Black }; SWM.Color color = SWM.Color.FromValues(colorValues, SwopUri); result = SD.Color.FromArgb((byte)Math.Round(cmykColor.Alpha * 255), color.R, color.G, color.B); lock (cmykToColor) { cmykToColor[cmykColor] = result; } } return(result); }
public void ToHsl() { foreach (HtmlColorSample sample in HtmlColorSamples.All) { double c = sample.Cmyk.Cyan; double m = sample.Cmyk.Magenta; double y = sample.Cmyk.Yellow; double k = sample.Cmyk.Key; CmykColor cmyk = new CmykColor(c, m, y, k); double h1 = sample.Hsl.Hue / 360; double s1 = sample.Hsl.Saturation; double l1 = sample.Hsl.Lightness; HslColor hsl3 = cmyk.ToHsl(); Assert.AreEqual(h1.ToString("N2"), hsl3.Hue.ToString("N2"), "#3 Hue (" + sample.Name + ")"); Assert.AreEqual(s1.ToString("N2"), hsl3.Saturation.ToString("N2"), "#3 Saturation (" + sample.Name + ")"); Assert.AreEqual(l1.ToString("N2"), hsl3.Lightness.ToString("N2"), "#3 Lightness (" + sample.Name + ")"); } }
public static SD.Color CmykToRgbColor(CmykColor cmykColor) { SD.Color result; if (cmykColor.Cyan == 0 && cmykColor.Magenta == 0 && cmykColor.Yellow == 0 && cmykColor.Black == 0) { // The default mapping doesn't quite map white to pure white. if (cmykColor.Alpha == 1) return SD.Color.White; else return SD.Color.FromArgb((byte) Math.Round(cmykColor.Alpha * 255), SD.Color.White); } if (!cmykToColor.TryGetValue(cmykColor, out result)) { float[] colorValues = { cmykColor.Cyan, cmykColor.Magenta, cmykColor.Yellow, cmykColor.Black }; SWM.Color color = SWM.Color.FromValues(colorValues, SwopUri); result = SD.Color.FromArgb((byte) Math.Round(cmykColor.Alpha * 255), color.R, color.G, color.B); lock (cmykToColor) { cmykToColor[cmykColor] = result; } } return result; }
public SpecialColor(CmykColor color) { this.Kind = ColorKind.Custom; this.CustomColor = color; }
public void AddRecueil_Table(List<string> columns, List<float> colsWidth, Dictionary<int, List<string>> data, float y, float weight, float height, bool hasHeader, bool NoFirstCell = false, float x = 0, float rowHeight = 12.5f) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.75f, 0.42f, 0f, 0.51f); //table.Border.Width = 0.5f; table.Border.LineStyle = LineStyle.None; table.CellDefault.Border.Width = 0.5f; table.CellDefault.Border.Color = RgbColor.Black; //table.Border.Color = RgbColor.Black; foreach (float w in colsWidth) { table.Columns.Add(w); } if (hasHeader) { Row row = table.Rows.Add(rowHeight, this.Heveltica, 10, RgbColor.White, colorBlue); row.CellDefault.VAlign = VAlign.Center; foreach (string column in columns) { row.Cells.Add(column); } if (NoFirstCell) { row.Cells[0].BackgroundColor = RgbColor.White; //row.Cells[0].Border.Top.LineStyle = LineStyle.None; //row.Cells[0].Border.Left.LineStyle = LineStyle.None; row.Cells[0].Border.Color = RgbColor.White; } } foreach (KeyValuePair<int, List<string>> kvp in data) { Row row = table.Rows.Add(rowHeight, this.Heveltica, 10, RgbColor.Black, RgbColor.White); row.CellDefault.VAlign = VAlign.Center; foreach (string value in kvp.Value) { row.Cells.Add(value); if (isNumeric(value)) { row.Cells[row.Cells.Count - 1].Align = TextAlign.Right; } } row.Cells[0].BackgroundColor = colorBlue; row.Cells[0].TextColor = RgbColor.White; } this._currentPage.Elements.Add(table); }
public void AddRecueil_Entete_Table(string[] columns, float[] colsWidth, float y, float weight, float height, float x = 0) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.75f, 0.42f, 0f, 0.51f); table.Border.Width = 0.5f; table.CellDefault.Border.Width = 0.5f; table.CellDefault.Border.Color = RgbColor.Black; table.Border.Color = RgbColor.Black; foreach (float w in colsWidth) { table.Columns.Add(w); } Row row = table.Rows.Add(20, this.Heveltica, 11, RgbColor.White, colorBlue); row.CellDefault.VAlign = VAlign.Center; foreach (string column in columns) { row.Cells.Add(column); } this._currentPage.Elements.Add(table); }
public void AddRecueil_Table(List<string> columns, List<float> colsWidth, Dictionary<int, List<string>> data, float y, float weight, float height, float x = 0, float rowHeight = 12.5f) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.75f, 0.42f, 0f, 0.51f); table.Border.Width = 0.5f; table.CellDefault.Border.Width = 0.5f; table.CellDefault.Border.Color = RgbColor.Black; table.Border.Color = RgbColor.Black; foreach (float w in colsWidth) { table.Columns.Add(w); } Row row = table.Rows.Add(rowHeight, this.Heveltica, 10, RgbColor.White, colorBlue); row.CellDefault.VAlign = VAlign.Center; row.CellDefault.Align = TextAlign.Center; foreach (string column in columns) { row.Cells.Add(column); } foreach (KeyValuePair<int, List<string>> kvp in data) { row = table.Rows.Add(rowHeight, this.Heveltica, 11, RgbColor.Black, RgbColor.White); row.CellDefault.VAlign = VAlign.Center; foreach (string value in kvp.Value) { row.Cells.Add(value); if (isNumeric(value)) { row.Cells[row.Cells.Count - 1].Align = TextAlign.Right; } } } this._currentPage.Elements.Add(table); }
public SpecialColor(float cyan, float magenta, float yellow, float black) { this.Kind = ColorKind.Custom; this.CustomColor = CmykColor.FromCmyk(cyan, magenta, yellow, black); }
public void LM_AddTableTitle(Page p, string[] contents, float x, float y) { float height = 40 * contents.Count(); //40 for a row Table table = new Table(x, y, 100, height); CmykColor colorBlue = new CmykColor(0.9f, 0.5f, 0f, 0.5f); RgbColor colorBlueBackground = new RgbColor(0.86f, 0.90f, 0.95f); table.Border.Width = 0.5f; table.CellDefault.Border.Width = 0.5f; table.Columns.Add(350); // one column foreach (string content in contents) { Row row = table.Rows.Add(20, this.HevelticaBold, 14, RgbColor.Black, RgbColor.White); row.Height = 40; row.CellDefault.VAlign = VAlign.Center; row.Cells.Add(content); } p.Elements.Add(table); }
public ColorAndText(string text, CmykColor color) { this.Text = text; this.SpecialColor = new SpecialColor(color); this.Color = color; }
/// <summary> /// Adds the table. /// </summary> public void AddTable1(string[] columns, IDictionary<int, string[]> values, float x, float y, float weight, float height, int fontSize, bool formattedText) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.75f, 0.42f, 0f, 0.51f); table.Border.Width = 1f; table.CellDefault.Border.Width = 0.5f; table.CellDefault.Border.Color = colorBlue; table.Border.Color = colorBlue; table.RepeatColumnHeaderCount = 1; table.RepeatRowHeaderCount = 1; for (int i = 0; i < columns.Length; i++) table.Columns.Add((this._currentPage.Dimensions.Width - 100) / columns.Length); Row row = table.Rows.Add(20, Font.HelveticaBold, fontSize, RgbColor.White, colorBlue); row.CellDefault.VAlign = VAlign.Center; foreach (string column in columns) { if (formattedText) row.Cells.Add(GetFormattedText(column, 0, 0, fontSize)); else row.Cells.Add(column); } for (int l = 0; l < values.Keys.Count; l++) { row = table.Rows.Add(30, Font.Helvetica, fontSize, RgbColor.Black, RgbColor.White); row.CellDefault.VAlign = VAlign.Center; string[] cells = values[l]; foreach (string value in cells) { if (value.Contains("http://")) { AddLinkToCell(row, value, fontSize); } else { if (formattedText) row.Cells.Add(GetFormattedText(value, 0, 0, fontSize)); else row.Cells.Add(value); } } } this._currentPage.Elements.Add(table); }
public void AddTable2(string[] columns, IDictionary<int, string[]> values, float x, float y, float weight, float height, int fontSize, bool formattedText) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.9f, 0.5f, 0f, 0.5f); RgbColor colorBlueBackground = new RgbColor(0.86f, 0.90f, 0.95f); table.Border.Width = 1f; table.CellDefault.Border.Width = 0; table.CellDefault.Border.Right.Color = colorBlue; table.CellDefault.Border.Right.Width = 1f; table.Border.Color = colorBlue; table.RepeatColumnHeaderCount = 1; table.RepeatRowHeaderCount = 1; table.Columns.Add(270); table.Columns.Add(80); table.Columns.Add(80); table.Columns.Add(80); Row row = table.Rows.Add(15, Font.Helvetica, fontSize, RgbColor.Black, colorBlueBackground); row.CellDefault.VAlign = VAlign.Center; row.CellDefault.Border.Bottom.Color = colorBlue; row.CellDefault.Border.Bottom.Width = 1f; foreach (string column in columns) { if (formattedText) row.Cells.Add(GetFormattedText(column, 0, 0, fontSize)); else row.Cells.Add(column); } for (int l = 0; l < values.Keys.Count; l++) { if (l == values.Keys.Count - 1) { row = table.Rows.Add(50, Font.Helvetica, fontSize, RgbColor.Black, RgbColor.White); } else { row = table.Rows.Add(15, Font.Helvetica, fontSize, RgbColor.Black, RgbColor.White); } row.CellDefault.VAlign = VAlign.Center; string[] cells = values[l]; foreach (string value in cells) { if (value.Contains("http://")) { AddLinkToCell(row, value, fontSize); } else { if (formattedText) row.Cells.Add(GetFormattedText(value, 0, 0, fontSize)); else row.Cells.Add(value); } } row.Cells[0].Align = TextAlign.Left; row.Cells[1].Align = TextAlign.Center; row.Cells[2].Align = TextAlign.Right; row.Cells[3].Align = TextAlign.Right; } this._currentPage.Elements.Add(table); }
public void AddTable3(IDictionary<int, string[]> values, float x, float y, float weight, float height, int fontSize, bool formattedText) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.9f, 0.5f, 0f, 0.5f); table.Border.Width = 1f; table.CellDefault.Border.Width = 0.5f; table.CellDefault.Border.Color = colorBlue; table.Border.Color = colorBlue; table.RepeatColumnHeaderCount = 1; table.RepeatRowHeaderCount = 1; table.Columns.Add(80); table.Columns.Add(80); Row row; for (int l = 0; l < values.Keys.Count; l++) { row = table.Rows.Add(15, Font.HelveticaBold, fontSize, RgbColor.Black, RgbColor.White); row.CellDefault.VAlign = VAlign.Center; string[] cells = values[l]; foreach (string value in cells) { if (value.Contains("http://")) { AddLinkToCell(row, value, fontSize); } else { if (formattedText) row.Cells.Add(GetFormattedText(value, 0, 0, fontSize)); else row.Cells.Add(value); } } row.Cells[0].BackgroundColor = colorBlue; row.Cells[0].TextColor = RgbColor.White; row.Cells[1].Align = TextAlign.Right; if (row.Cells[0].Text.StartsWith("TVA")) row.Cells[1].Align = TextAlign.Center; } this._currentPage.Elements.Add(table); }
public void AddEnteteTable(string[] columns, float x, float y, float weight, float height, int fontSize) { Table table = new Table(x, y, weight, height); CmykColor colorBlue = new CmykColor(0.75f, 0.42f, 0f, 0.51f); table.Border.Width = 1f; table.CellDefault.Border.Width = 0.5f; table.CellDefault.Border.Color = colorBlue; table.Border.Color = colorBlue; table.Columns.Add(285); table.Columns.Add(225); Row row = table.Rows.Add(20, Font.HelveticaBold, fontSize, RgbColor.White, colorBlue); row.CellDefault.VAlign = VAlign.Center; foreach (string column in columns) { row.Cells.Add(column); } row.Cells[1].Align = TextAlign.Right; this._currentPage.Elements.Add(table); }
public ColorAndText(string text, SpecialColor specialColor, CmykColor color) { this.Text = text; this.SpecialColor = specialColor; this.Color = color; }
/// <summary> /// Adds the table. /// </summary> public void Coffre_AddTable(string[] values, float x, float y) { CmykColor colorBlue = new CmykColor(0.75f, 0.42f, 0f, 0.51f); Table table = new Table(x, y, 500, 400); table.Border.Width = 0.5f; table.CellDefault.Border.Width = 0.5f; //Add 2 columns table.Columns.Add(200); table.Columns.Add(300); //Entete Row row = table.Rows.Add(20, Font.Helvetica, 11, RgbColor.White, colorBlue); row.CellDefault.VAlign = VAlign.Center; row.Cells.Add("Preuve du dépôt et attestation d'intégrité", 2); row.Cells[0].Align = TextAlign.Center; //Contents string[] contentTitles = { "Nom du document", "Date d'archivage", "Identifiant unique du dépôt", "Taille du fichier", "Algorithme de cryptage des données", "Certificats" }; for (int i = 0; i < 6; i++) //6 lines { string contentTitle = contentTitles[i]; string contentValue = values[i]; int height = (i == 5) ? 80 : 40; row = table.Rows.Add(height, Font.Helvetica, 11); row.CellDefault.VAlign = VAlign.Center; row.Cells.Add(contentTitle); row.Cells.Add(contentValue); } this._currentPage.Elements.Add(table); }
public override SWM.Color ToColor(CmykColor cmykColor) { SWM.Color result; if (!cmykToColor.TryGetValue(cmykColor, out result)) { float[] colorValues = { cmykColor.Cyan, cmykColor.Magenta, cmykColor.Yellow, cmykColor.Black }; result = SWM.Color.FromValues(colorValues, SwopColorConverter.SwopUri); cmykToColor[cmykColor] = result; } return result; }