コード例 #1
0
        public corel.Color Convert(corel.Color color)
        {
            if (color.Type == cdrColorType.cdrColorRGB)
            {
                return(color);
            }

            corel.Color c = new corel.Color();
            c.CopyAssign(color);
            c.ConvertToRGB();
            return(c);
        }
コード例 #2
0
        private void btnPickColorRemapColorRangeRGB_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.cdrColorRGB)
                {
                    c.ConvertToRGB();
                }

                tbRemapColorRangeRedMin.Value   = c.RGBRed;
                tbRemapColorRangeRedMax.Value   = c.RGBRed;
                tbRemapColorRangeGreenMin.Value = c.RGBGreen;
                tbRemapColorRangeGreenMax.Value = c.RGBGreen;
                tbRemapColorRangeBlueMin.Value  = c.RGBBlue;
                tbRemapColorRangeBlueMax.Value  = c.RGBBlue;
            }

            else
            {
                corel.Color c = new corel.Color();
                if (!c.UserAssignEx())
                {
                    return;
                }

                if (c.Type != cdrColorType.cdrColorRGB)
                {
                    c.ConvertToRGB();
                }

                tbRemapColorRangeRedMin.Value   = Math.Min(c.RGBRed, tbRemapColorRangeRedMin.Value);
                tbRemapColorRangeGreenMin.Value = Math.Min(c.RGBGreen, tbRemapColorRangeGreenMin.Value);
                tbRemapColorRangeBlueMin.Value  = Math.Min(c.RGBBlue, tbRemapColorRangeBlueMin.Value);

                tbRemapColorRangeRedMax.Value   = Math.Max(c.RGBRed, tbRemapColorRangeRedMax.Value);
                tbRemapColorRangeGreenMax.Value = Math.Max(c.RGBGreen, tbRemapColorRangeGreenMax.Value);
                tbRemapColorRangeBlueMax.Value  = Math.Max(c.RGBBlue, tbRemapColorRangeBlueMax.Value);
            }
        }
コード例 #3
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;
        }
コード例 #4
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);
        }
コード例 #5
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;
        }