示例#1
0
        private void BtnExtract_Click(object sender, EventArgs e)
        {
            List <Color> colors = PalettePictureBox.ExtractColors();

            StringBuilder data = new StringBuilder();

            data.Append("Colors extracted: " + colors.Count + Environment.NewLine + Environment.NewLine);

            foreach (Color color in colors)
            {
                data.Append(TxtPrefix.Text);

                if (CmbFormat.SelectedIndex == 0)
                {
                    data.Append(ToHexRgba(color));
                }
                else if (CmbFormat.SelectedIndex == 1)
                {
                    data.Append(ToHexArgb(color));
                }

                data.Append(TxtSuffix.Text + Environment.NewLine);
            }

            TxtData.Text = data.ToString();
        }
示例#2
0
        private void BtnSave_Click(object sender, EventArgs e)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            if (dialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            List <Color> colors = PalettePictureBox.ExtractColors();

            byte[] rgbaArray = new byte[4 * colors.Count];
            int    ptr       = 0;

            foreach (Color color in colors)
            {
                rgbaArray[ptr++] = color.R;
                rgbaArray[ptr++] = color.G;
                rgbaArray[ptr++] = color.B;
                rgbaArray[ptr++] = color.A;
            }

            File.WriteAllBytes(dialog.FileName, rgbaArray);

            MessageBox.Show(colors.Count + " colors saved to binary file " + dialog.FileName,
                            "File saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
示例#3
0
        private void BtnSaveGimp_Click(object sender, EventArgs e)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            if (dialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            List <Color> colors = PalettePictureBox.ExtractColors();

            FileInfo fi   = new FileInfo(dialog.FileName);
            string   file = "GIMP Palette\nName: " + fi.Name + "\n#\n";

            foreach (Color color in colors)
            {
                file +=
                    color.R.ToString().PadLeft(3) + " " +
                    color.G.ToString().PadLeft(3) + " " +
                    color.B.ToString().PadLeft(3) + "\n";
            }

            File.WriteAllText(dialog.FileName, file);

            MessageBox.Show(colors.Count + " colors saved to GIMP palette file " + dialog.FileName,
                            "File saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }