您好!看起来您可能想要开始一个关于C语言的讨论或者问题。不过,信息不完整,我无法直接给出具体的答案。如果您能提供更多细节或者具体的问题,我会很乐意帮助您解答。比如,您可能想要了解C语言的基础知识、编程技巧、某个特定函数的用法,或者是关于C语言编程的一些常见

摘要:缘由 看过上篇文章《OpenCvSharp基于颜色反差规避FBA面单贴标(2)》的都应该有印象这么一行代码:面单颜色列表(十六进制格式) privatestaticreadonly List<string&am
缘由 看过上篇文章《OpenCvSharp基于颜色反差规避FBA面单贴标(2)》的都应该有印象这么一行代码: // 面单颜色列表(十六进制格式) privatestaticreadonly List<string> LabelColors = new List<string> { "#7C7C7C", "#707070", "#5E5E5E", "#8F8F8D", "#5F5F5F", "#CBCBC9","#FFFFFF","#FEFEFE","#FCFCFC" ,"#7B7B7B","#828282","#7D7D7D","#787878","#D7D7D5","#777777","#7F7F7F" };   每次有不同颜色或者无法定位的面单,都需要人工补录面单的背景色HEX,那么能不能集成一个工具,自动吸取图片色号保存后,这里能立即生效呢?答案是肯定的!先看看动态效果图: 点击取色,跟随鼠标实时显示背景色便于定位 快捷键Alt+C,抓取当前鼠标所在背景色存储到列表并存储到根目录colorHistory.json文件,便于其他地方读取 列表支持右键删除错误颜色(如下图) 其他地方读取抓取的颜色列表 保存的json文件格式如下: [ "#018DBE", "#B1C681", "#03231E", "#61CB81", "#00424A", "#B5BD68", "#A3D9A3", "#F68A1E", "#0E83BA", "#861B2D", "#059BBC" ]   每次抓取都会往json存储当前最新色号,然后其他地方实时读取json即可: //// 面单颜色列表(十六进制格式) //private static readonly List<string> LabelColors = new List<string> //{ // "#7C7C7C", "#707070", "#5E5E5E", "#8F8F8D", "#5F5F5F", "#CBCBC9","#FFFFFF","#FEFEFE","#FCFCFC" ,"#7B7B7B","#828282","#7D7D7D","#787878","#D7D7D5","#777777","#7F7F7F" //}; static List<string> LabelColors = new List<string>(); privatestatic List<string> LoadColorList() { try { string historyFilePath = System.Windows.Forms.Application.StartupPath + @"\colorHistory.json"; if (File.Exists(historyFilePath)) { string json = File.ReadAllText(historyFilePath); var hexList = JsonSerializer.Deserialize<List<string>>(json); foreach (var hex in hexList) { if (!string.IsNullOrEmpty(hex)) { LabelColors.Add(hex); } } return LabelColors; } } catch (Exception ex) { MessageBox.Show($"加载历史记录失败: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } returnnull; }    private List<Color> colorHistory = new List<Color>();
阅读全文