コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }