public corel.Color Convert(corel.Color color) { if (color.Type == cdrColorType.cdrColorCMYK) { return(color); } corel.Color c = new corel.Color(); c.CopyAssign(color); c.ConvertToCMYK(); return(c); }
private void btnPickColorRemapColorRangeCMYK_Click(object sender, RoutedEventArgs e) { if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) { corel.Color c = new corel.Color(); if (!c.UserAssignEx()) { return; } if (c.Type != cdrColorType.cdrColorCMYK) { c.ConvertToCMYK(); } tbRemapColorRangeCyanMin.Value = c.CMYKCyan; tbRemapColorRangeCyanMax.Value = c.CMYKCyan; tbRemapColorRangeMagentaMin.Value = c.CMYKMagenta; tbRemapColorRangeMagentaMax.Value = c.CMYKMagenta; tbRemapColorRangeYellowMin.Value = c.CMYKYellow; tbRemapColorRangeYellowMax.Value = c.CMYKYellow; tbRemapColorRangeBlackMin.Value = c.CMYKBlack; tbRemapColorRangeBlackMax.Value = c.CMYKBlack; } else { corel.Color c = new corel.Color(); if (!c.UserAssignEx()) { return; } if (c.Type != cdrColorType.cdrColorCMYK) { c.ConvertToCMYK(); } tbRemapColorRangeCyanMin.Value = Math.Min(c.CMYKCyan, tbRemapColorRangeCyanMin.Value); tbRemapColorRangeMagentaMin.Value = Math.Min(c.CMYKMagenta, tbRemapColorRangeMagentaMin.Value); tbRemapColorRangeYellowMin.Value = Math.Min(c.CMYKYellow, tbRemapColorRangeYellowMin.Value); tbRemapColorRangeBlackMin.Value = Math.Min(c.CMYKBlack, tbRemapColorRangeBlackMin.Value); tbRemapColorRangeCyanMax.Value = Math.Max(c.CMYKCyan, tbRemapColorRangeCyanMax.Value); tbRemapColorRangeMagentaMax.Value = Math.Max(c.CMYKMagenta, tbRemapColorRangeMagentaMax.Value); tbRemapColorRangeYellowMax.Value = Math.Max(c.CMYKYellow, tbRemapColorRangeYellowMax.Value); tbRemapColorRangeBlackMax.Value = Math.Max(c.CMYKBlack, tbRemapColorRangeBlackMax.Value); } }
private void btnGrabColorToColorTint_Click(object sender, RoutedEventArgs e) { corel.Shape s = corelApp.ActiveSelection; if (s == null || s.Shapes.Count > 1 || s.Fill.Type != cdrFillType.cdrFountainFill) { return; } corel.FountainFill ff = s.Fill.Fountain; for (int i = 1; i < ff.Colors.Count; i++) { corel.FountainColor startFC = ff.Colors[i - 1]; corel.FountainColor endFC = ff.Colors[i]; int posStart = startFC.Position; int posEnd = endFC.Position; corel.Color startC = startFC.Color; corel.Color endC = endFC.Color; if (startC.IsSpot) { corel.Color c = new corel.Color(); c.CopyAssign(startC); c.ConvertToCMYK(); startC = c; } if (endC.IsSpot) { corel.Color c = new corel.Color(); c.CopyAssign(endC); c.ConvertToCMYK(); endC = c; } for (int j = posStart; j <= posEnd; j++) { int cyan = (int)Math.Floor((double)(startC.CMYKCyan + (endC.CMYKCyan - startC.CMYKCyan) * (j - posStart) / (posEnd - posStart))); int magenta = (int)Math.Floor((double)(startC.CMYKMagenta + (endC.CMYKMagenta - startC.CMYKMagenta) * (j - posStart) / (posEnd - posStart))); int yellow = (int)Math.Floor((double)(startC.CMYKYellow + (endC.CMYKYellow - startC.CMYKYellow) * (j - posStart) / (posEnd - posStart))); int black = (int)Math.Floor((double)(startC.CMYKBlack + (endC.CMYKBlack - startC.CMYKBlack) * (j - posStart) / (posEnd - posStart))); fountainColorTint[j].CMYKAssign(cyan, magenta, yellow, black); } } cnvToColorSpaceColorBar.Background = ConvertFromFountain(ff); }
public corel.Color Convert(corel.Color color) { if (color.Type == cdrColorType.cdrColorCMYK) { return(color); } if (color.Type == cdrColorType.cdrColorSpot && color.Palette.Locked) { return(color); } corel.Color c = new corel.Color(); c.CopyAssign(color); c.ConvertToCMYK(); return(c); }