------ #### SuperDesign V3.0.2412.2001 - *.[新增]新增程序更新日志设置和自动发布功能。 - *.[修复]修复Post数据格式不正确时双击文本框会导致软件闪退的BUG。
94 lines
4.3 KiB
C#
94 lines
4.3 KiB
C#
using ryCommon;
|
|
using ryControls;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using WeifenLuo.WinFormsUI.Docking;
|
|
|
|
namespace 开发辅助工具.Tools
|
|
{
|
|
public partial class FrmColor : DockContent
|
|
{
|
|
public FrmColor()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public string CSharpColorToDelphiColor(Color csharpColor)
|
|
{
|
|
//去掉透明度
|
|
int iColor = csharpColor.ToArgb();
|
|
int delphi_color_int = (iColor >> 16) + (iColor & 0x00FF00) + ((iColor & 0x0000FF) << 16);
|
|
|
|
Color delphi_color = Color.FromArgb(delphi_color_int);
|
|
//转换颜色位置
|
|
return string.Format("${0:X2}{1:X2}{2:X2}{3:X2}",
|
|
delphi_color.A, delphi_color.R, delphi_color.G, delphi_color.B);
|
|
}
|
|
private void SuperColor1_BackColorChanged(object sender, EventArgs e)
|
|
{
|
|
Color color = superColor1.BackColor;
|
|
ryControls.ColorRGB RGB =new ryControls.ColorRGB(color.R,color.G,color.B);
|
|
var hsl= ryControls.ColorHelper.RgbToHsl(RGB);
|
|
var hsv = ryControls.ColorHelper.RgbToHsv(RGB);
|
|
tableModel1.Rows.Clear();
|
|
AddList("RGB颜色值", "rgb(" + color.R + "," + color.G + "," + color.B + ")","");
|
|
AddList("RGBA颜色值", "rgba(" + color.R + "," + color.G + "," + color.B + "," + color.A + ")", "HTML5、CSS3常用");
|
|
AddList("ARGB颜色值", String.Format("#{0:X2}{1:X2}{2:X2}{3:X2}", color.A, color.R, color.G, color.B), "android常用");
|
|
AddList("16进制颜色值", String.Format("#{0:X2}{1:X2}{2:X2}", color.R, color.G, color.B), "HTML5、CSS3常用");
|
|
AddList("Delphi颜色值", CSharpColorToDelphiColor(color), "");
|
|
AddList("HSL颜色值", "hsl(" + color.GetHue().ToString("0.00") + "," + color.GetSaturation().ToString("0.00%") + "," + (hsl.L / 255m).ToString("0.00%") + ")", "");
|
|
AddList("HSV颜色值", "hsv(" + color.GetHue().ToString("0.00") + "," + (hsv.S / 255m).ToString("0.00") + "," + (hsv.V / 255m).ToString("0.00") + ")", "");
|
|
ColorHelper.RGB2CMYK(RGB, out var c, out var m, out var y, out var k);
|
|
AddList("CMYK", c.ToInt().ToString()+","+m.ToInt().ToString() + "," + y.ToInt().ToString() + "," + k.ToInt().ToString(), "印刷四色模式");
|
|
ColorHelper.RGB2XYZ(RGB, out var x, out var y1, out var z);
|
|
AddList("XYZ", x.ToString("0.000") + "," + y1.ToString("0.000") + "," + z.ToString("0.000"), "D65/2°");
|
|
ColorHelper.RGB2Yxy(RGB, out var Y, out var x2, out var y2);
|
|
AddList("Yxy", Y.ToString("0.000") + "," + x2.ToString("0.000") + "," + y2.ToString("0.000"), "D65/2°");
|
|
void AddList(string title,string value,string des)
|
|
{
|
|
XPTable.Models.Row itemList = new XPTable.Models.Row()
|
|
{
|
|
Tag = ""
|
|
};
|
|
//需要修改此处
|
|
itemList.Cells.Add(new XPTable.Models.Cell(title));//示例
|
|
itemList.Cells.Add(new XPTable.Models.Cell(value));//示例
|
|
var cell = new XPTable.Models.Cell(des)
|
|
{
|
|
ForeColor = Color.Gray
|
|
};
|
|
itemList.Cells.Add(cell);
|
|
tableModel1.Rows.Add(itemList);
|
|
}
|
|
}
|
|
private void FrmColor_Load(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void TableModel1_SelectionChanged(object sender, XPTable.Events.SelectionEventArgs e)
|
|
{
|
|
if (e.NewSelectedIndicies.Length <= 0) { TxtType.Text = "";TxtValue.Text = ""; return; }
|
|
int row = e.NewSelectedIndicies[0];
|
|
TxtType.Text = table1.TableModel.Rows[row].Cells[ColTitle.Index].Text;
|
|
TxtValue.Text = table1.TableModel.Rows[row].Cells[ColValue.Index].Text;
|
|
}
|
|
|
|
private void table1_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if(e.KeyCode==Keys.C && e.Control)
|
|
{
|
|
if (table1.SelectedItems.Length > 0)
|
|
{
|
|
int row = table1.SelectedItems[0].Index;
|
|
RyFiles.CopyToClip(table1.TableModel.Rows[row].Cells[ColValue.Index].Text);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|