Ejemplo n.º 1
0
 private corel.Color ConvertPantoneKeepTint(corel.Color color)
 {
     corel.Color c = new corel.Color();
     c.CopyAssign(castColor);
     c.Tint = color.Tint;
     return(c);
 }
Ejemplo n.º 2
0
 public corel.Color Convert(corel.Color color)
 {
     if (!useTint && color.Type == cdrColorType.cdrColorSpot && castColor.IsSpot)
     {
         return(ConvertPantoneKeepTint(color));
     }
     if (!useTint && color.Type != cdrColorType.cdrColorSpot && castColor.IsSpot)
     {
         corel.Color c = new corel.Color();
         c.CopyAssign(color);
         c.ConvertToGray();
         // 255 = 0, 0 = 100
         int i = c.Gray;
         i = 100 - (int)Math.Round((i / 255f) * 100);
         c.CopyAssign(castColor);
         c.Tint = i;
         return(c);
     }
     return(castColor);
 }
        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);
        }
Ejemplo n.º 4
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);
        }
        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);
        }
Ejemplo n.º 6
0
        private void UpdateColor(Color C, Button btn, Label lbl, bool NoColor)
        {
            String sName;

            if (NoColor)
            {
                sName         = "无颜色";
                btn.BackColor = Color2.Black;
            }
            else
            {
                Color cRGB = new Color();
                btn.Image = null;
                cRGB.CopyAssign(C);
                cRGB.ConvertToRGB();
                btn.BackColor = Color2.FromArgb(cRGB.RGBRed, cRGB.RGBGreen, cRGB.RGBBlue);
                sName         = C.Name + "(" + C.ColorStyleName + ")";
            }
            lbl.Text = sName;
        }
Ejemplo n.º 7
0
        public corel.Color Convert(corel.Color castColor)
        {
            corel.Color c = new corel.Color();
            int         i = 0;

            c.CopyAssign(castColor);
            c.ConvertToGray();
            //float y = 0.299f * c.RGBRed + 0.587f * c.RGBGreen + 0.114f * c.RGBBlue;

            if (tint)
            {
                i = (int)Math.Floor(c.Gray / 2.55f);
            }
            else
            {
                i = rnd.Next(100);
            }

            return(fountainColors[i]);
        }
Ejemplo n.º 8
0
        private LinearGradientBrush ConvertFromFountain(corel.FountainFill ff)
        {
            LinearGradientBrush lgBrush = new LinearGradientBrush();

            lgBrush.StartPoint = new System.Windows.Point(0, 0.5);
            lgBrush.EndPoint   = new System.Windows.Point(1, 0.5);

            foreach (corel.FountainColor fc in ff.Colors)
            {
                corel.Color c = new corel.Color();
                c.CopyAssign(fc.Color);
                c.ConvertToRGB();
                float pos = fc.Position;

                System.Windows.Media.Color bc = System.Windows.Media.Color.FromRgb((byte)c.RGBRed, (byte)c.RGBGreen, (byte)c.RGBBlue);

                GradientStop gs = new GradientStop(bc, pos / 100f);

                lgBrush.GradientStops.Add(gs);
            }

            return(lgBrush);
        }
Ejemplo n.º 9
0
        private void fillPaletteFrame(ListView lb, Palette pal)
        {
            Color    C;
            int      w;
            ComboBox cbb;

            if (lb.Tag == pal.Name)
            {
                return;
            }
            C = new Color();
            w = lb.Width;
            int cols  = cfg.cols;
            int size  = w / cols;
            int sizev = size;

            if (cols == 1)
            {
                sizev = 20;
            }
            int i = (pal.Colors().Count % cols + 1) * size;

            lb.Controls.Clear();
            if (lb.Name == "listBox1")
            {
                cbb = cbF;
            }
            else
            {
                cbb = cbR;
            }
            cbb.Items.Clear();
            Button bt1 = new Button();

            bt1.Left      = i % cols * size;
            bt1.Top       = i / cols * sizev;
            bt1.Width     = size;
            bt1.Height    = sizev;
            bt1.BackColor = Color2.White;
            lb.Controls.Add(bt1);
            cbb.Items.Add("无颜色");
            foreach (Color cp in pal.Colors())
            {
                C.CopyAssign(cp);
                if (C.Name != "unnamed color")
                {
                    cbb.Items.Add(C.Name);
                }
                else
                {
                    cbb.Items.Add(C.Name);
                }
                C.ConvertToRGB();
                Button bt2 = new Button();
                bt2.Left      = i % cols * size;
                bt2.Top       = i / cols * sizev;
                bt2.Width     = size;
                bt2.Height    = sizev;
                bt2.BackColor = Color2.FromArgb(C.RGBRed, C.RGBGreen, C.RGBBlue);
                if (cols > 1)
                {
                    bt2.Enabled = false;
                }
                else
                {
                    bt2.Text      = cp.Name;
                    bt2.TextAlign = ContentAlignment.MiddleCenter;
                    C.ConvertToGray();
                    if (C.Gray < 150)
                    {
                        bt2.ForeColor = Color2.White;
                    }
                }
                lb.Controls.Add(bt2);
            }
            lb.Tag = pal.Name;
        }
        public corel.Color Convert(corel.Color color)
        {
            string colorName;

            if (color.Type == cdrColorType.cdrColorSpot)
            {
                colorName = color.Name;

                // если спот из таблиц пантонов
                if (colorName.Contains("PANTONE"))
                {
                    colorName = colorName.Replace(" 2X", "");
                    colorName = colorName.Substring(0, colorName.LastIndexOf(' '));

                    //разные названия TransWhite
                    if (!colorName.Contains("Trans. White"))
                    {
                        colorName = colorName + " C";
                    }

                    // исправление неправильного названия в PANTONE MATCHING SYSTEM Coated - Corel 10
                    if (colorName == "PANTONE Relfex Blue C")
                    {
                        colorName = "PANTONE Reflex Blue C";
                    }
                }
            }

            else
            {
                colorName = color.HexValue.ToString();
            }

            // поиск в найденных цветах
            if (foundColors.ContainsKey(colorName))
            {
                corel.Color c = foundColors[colorName];
                // если спот сохранить тинт
                if (color.Type == cdrColorType.cdrColorSpot && color.IsTintable && c.IsSpot && c.IsTintable)
                {
                    c.Tint = color.Tint;
                    return(c);
                }
                else
                {
                    return(c);
                }
            }

            // поиск в палитрах корела если палитра Locked
            if (color.Type == cdrColorType.cdrColorSpot)
            {
                foreach (string id in palettesID)
                {
                    if (color.PaletteIdentifier != id)
                    {
                        corel.Palette castPalette = corelApp.PaletteManager.GetPalette(id);
                        int           colorID     = castPalette.FindColor(colorName);
                        if (colorID != 0)
                        {
                            corel.Color c = new Color();
                            c.PaletteAssign(castPalette.Identifier, colorID);
                            foundColors.Add(c.Name.ToString(), c);
                            c.Tint = color.Tint;
                            return(c);
                        }
                    }
                    else
                    {
                        return(color);
                    }
                }

                // если нигде нет
                if (MessageBox.Show("В палитрах ненайден цвет:\n" + color.Name + "\n" + "Заменить вручную?", "Ненайден цвет", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
                {
                    corel.Color c = new corel.Color();
                    if (c.UserAssignEx())
                    {
                        // если спот учитывать тинт
                        foundColors.Add(colorName, c);
                        if (c.IsSpot && c.IsTintable)
                        {
                            c.Tint = color.Tint;
                        }
                        return(c);
                    }
                }
                else
                {
                    foundColors.Add(colorName, color);
                    return(color);
                }
            }

            else
            {
                corel.Color c = new corel.Color();
                c.CopyAssign(color);
                c.ConvertToPalette("6e75244b-d853-4d2e-bea2-a5da3f195d08");
                foundColors.Add(colorName, c);
                return(c);
            }

            return(color);
        }