colors 相关问题

使用此标记可以了解有关在编程语言中表示或操作颜色的问题。

用于匹配 CSS 十六进制颜色的正则表达式

我正在尝试编写从 CSS 代码中提取所有十六进制颜色的正则表达式。 这就是我现在所拥有的: 代码: $css = << 我正在尝试编写从 CSS 代码中提取所有十六进制颜色的正则表达式。 这就是我现在拥有的: 代码: $css = <<<CSS /* Do not match me: #abcdefgh; I am longer than needed. */ .foo { color: #cccaaa; background-color:#ababab; } #bar { background-color:#123456 } CSS; preg_match_all('/#(?:[0-9a-fA-F]{6})/', $css, $matches); 输出: Array ( [0] => Array ( [0] => #abcdef [1] => #cccaaa [2] => #ababab [3] => #123456 ) ) 我不知道如何指定只匹配那些以标点符号、空格或换行符结尾的颜色。 由于十六进制颜色代码也可能由 3 个字符组成,因此您可以定义一个强制组和一组可选的字母和数字,因此长而详细的表示法将是: /#([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?\b/ 或者,如果您想要一个漂亮而简短的版本,您可以说您想要 1 组或 2 组 3 个字母数字字符,并且它们应该不区分大小写地匹配 (/i)。 /#([a-f0-9]{3}){1,2}\b/i 如果正则表达式引擎支持此 posix 字符类,您也可以编写 [a-f0-9],而不是 [[:xdigit:]]。在这种情况下,您可以跳过末尾的 /i,整个公式仅多了两个字符,但可以说更具描述性。 /#([[:xdigit:]]{3}){1,2}\b/ 接受的答案向您展示了如何使用正则表达式来做到这一点,因为那是您的问题。但你确实不需要为此使用正则表达式。通常我会这样做: if(ctype_xdigit($color) && strlen($color)==6){ // yay, it's a hex color! } 对于 100.000 次迭代: 正则表达式解决方案*:0.0802619457245秒 带 strlen 的 Xdigit:0.0277080535889 秒 *:十六进制:([a-fA-F0-9]{6}) GolezTrol 的答案的简短版本,避免两次写入字符集: /#([a-fA-F0-9]{3}){1,2}\b/ 尽管这个问题已经很久了,我还是想修改以下内容: ^#([[:xdigit:]]{3}){1,2}$,其中 [[:xdigit:]] 是 [a-fA-F0-9] 的简写。 所以: <?php preg_match_all("/^#(?>[[:xdigit:]]{3}){1,2}$/", $css, $matches) ?> 这里还值得注意的是非捕获组的使用(?>...),以确保我们不会将数据存储在我们本来不想存储的内存中。 在线尝试 我不完全确定我是否正确,但如果你只想在 CSS 行末尾匹配十六进制颜色: preg_match_all('/#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{3})[\s;]*\n/',$css,$matches); 应该可以,我所做的就是添加可选的 \s; 字符组(可选的分号和空格)和换行符(不是可选的),它似乎可以工作。正如 @GolezTrol 指出的那样 #FFF;也有效。 对此进行测试时: $css = '/* Do not match me: #abcdefgh; I am longer than needed. */ .foo { color: #CAB; background-color:#ababab; }'; preg_match_all('/#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{3})[\s;]*\n/',$css,$matches); var_dump($matches); 输出是: array (array('#CAB;','#ababab;')) 如果您还想支持十六进制颜色的 Alpha 通道,例如#FF0000AA(9位数字),您可以使用: // make sure it is a valid hexcolor value if (preg_match("/(#[0-9A-Fa-f]{8})|(#[0-9A-Fa-f]{3,6})/", $color)) { // valid hexcolor value } 这对于 4 位数字(例如“#F00”)、7 位数字(例如“#FF0000”)和 9 位数字(例如“#FF0055AA”)的十六进制颜色有效。

回答 6 投票 0

terra writeRaster 在写入 jpeg2000 文件时修改光栅值

我正在尝试以 jpeg2000 格式保存 terra 栅格。我所知道的 writeRaster 的唯一 jpeg2000 驱动程序是 JP2OpenJPEG(还有其他驱动程序吗?)。但它似乎修改了栅格值: <- rast(s...

回答 1 投票 0

rastWriter 在写入 jpeg2000 文件时修改光栅值

我正在尝试以 jpeg2000 格式保存 terra 栅格。我所知道的 writeRaster 的唯一 jpeg2000 驱动程序是 JP2OpenJPEG(还有其他驱动程序吗?)。但它似乎修改了栅格值: <- rast(s...

回答 1 投票 0

+透明的Imagemagick结果(去除除一种颜色外的所有颜色)会产生颜色残留

我生成了图像。它是像素完美的图像(无插值、1 像素=1 颜色、仅 5 种颜色等) 我想将不同文件中的每种颜色分开,因此我使用 ImageMagick CLI 命令来获取...

回答 1 投票 0

PHP 中的 RGB 到 HSV

在 PHP 中,将 RGB 三元组转换为 HSV 值的最直接方法是什么?

回答 6 投票 0

如何用Python制作颜色网格?

我正在尝试创建代表颜色混合比例的值网格。我在图中提供了一个示例。我面临的挑战是对角线下方和上方的颜色应该是

回答 1 投票 0

重新着色 Leaflet 中图像叠加层中特定颜色的所有像素

我有一张大约 8000x4000 像素的图像。该图像被分解成颜色斑点。 以下是图像部分的示例,以显示其外观: 我可以使用 l...

回答 1 投票 0

如何更改dabestr_2023.9.12中dabest_plot函数中的调色板

只想为此可视化添加自定义调色板。我尝试使用 Palette = c("colour1", "colour2",...) 和使用 custom_palette 手动添加它。没有什么是工作...

回答 1 投票 0

Facebook 的“蓝色”背景色的十六进制代码是什么?

我想为我的手机应用程序设置像Facebook的蓝色背景色那样的背景色。那么它的十六进制代码是什么呢?

回答 8 投票 0

如何让按钮点击时改变颜色?

我设置了 3 个按钮,想知道如何让它们在单击时改变颜色。 “是”应该是绿色的 “不”应该是红色的 “也许”也应该是红色的。 我设置了 3 个按钮,想知道如何让它们在单击时改变颜色。 “是”应该是绿色的 “不”应该是红色的 “也许”也应该是红色的。 <!DOCTYPE html> <html lang="en"> <head> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap" rel="stylesheet"> <link href="styles.css" rel="stylesheet"> <title>Trivia!</title> <script></script> </head> <body> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me? <h3> <button id="q1button">Yes</button> <button id="q2button">No</button> <button id="q3button">Maybe</button> </div> </div> </body> </html> 你是这个意思吗? button:focus { outline: none; border: 1px solid black; } #q1button:focus { background-color: green; color: pink; } #q2button:focus { background-color: red; color: white; } #q3button:focus { background-color: yellow; color: black; } <body> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me?<h3> <button id="q1button">Yes</button> <button id="q2button">No</button> <button id="q3button">Maybe</button> </div> </div> </body> 您可以使用 JavaScript 来完成。我认为这样的东西适合你。 <!DOCTYPE html> <html> <body> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me?<h3> <button id="q1button" onclick="this.style.background = 'green'">Yes</button> <button id="q2button" onclick="this.style.background = 'red'">No</button> <button id="q3button" onclick="this.style.background = 'red'">Maybe</button> </div> </div> </body> </html> 编辑: 设法让所有这些都突出显示。 <!DOCTYPE html> <html> <body> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me?<h3> <button id="q1button" onclick="changeBg(this);">Yes</button> <button id="q2button" onclick="changeBg(this);">No</button> <button id="q3button" onclick="changeBg(this);">Maybe</button> </div> </div> <script> function changeBg(button){ if(button.id == "q1button"){ button.style.background = "green"; document.getElementById("q2button").style.background = "transparent"; document.getElementById("q3button").style.background = "transparent"; } else if(button.id == "q2button"){ button.style.background = "red"; document.getElementById("q1button").style.background = "transparent"; document.getElementById("q3button").style.background = "transparent"; } if(button.id == "q3button"){ button.style.background = "red"; document.getElementById("q1button").style.background = "transparent"; document.getElementById("q2button").style.background = "transparent"; } } </script> </body> </html> 试试这个: <style> .yes:focus { background-color: green; } .no:focus { background-color: red; } .maybe:focus { background-color: yellow; } </style> <button class="yes">Yes</button> <button class="no">No</button> <button class="maybe">Maybe</button> 如果有效请告诉我。 您只需使用 CSS 并对 HTML 进行一些更改即可实现此目的。 在示例中,我使用形状像按钮的标签来触发输入,从而控制按钮的视觉美感。这是在 CSS 中使用 :checked 和相邻的 + 选择器来处理的,以修改 label .button 的颜色。 .inputController { display: none; } .inputController:checked + .button-greenCK { background-color: green; } .inputController:checked + .button-redCK { background-color: red; } .button { font-size: 0.65em; background-color: white; border-radius: 5px; padding: 5px 10px; border: 1px solid lightgrey; box-shadow: 3px 3px 3px rgba(0,0,0,0.25); cursor: pointer; margin-right: 5px; } .button_label {} <html lang="en"> <head> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap" rel="stylesheet"> <link href="styles.css" rel="stylesheet"> <title>Trivia!</title> <script> </script> </head> <body> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Single Choice</h2> <hr> <h3>Do you love me?<h3> <input id="q1button" name="trivia1" class="inputController" type="radio"/> <label class="button button-greenCK" for="q1button"> <span class="button_value">Yes</span> </label> <input id="q2button" name="trivia1" class="inputController" type="radio"/> <label class="button button-redCK" for="q2button"> <span class="button_value">No</span> </label> <input id="q3button" name="trivia1" class="inputController" type="radio"/> <label class="button button-redCK" for="q3button"> <span class="button_label">Maybe</span> </label> </div> </div> <div class="container"> <div class="section"> <h2>Part 2: Multiple Choice</h2> <hr> <h3>Do you love me?<h3> <input id="q4button" name="trivia2" class="inputController" type="checkbox"/> <label class="button button-greenCK" for="q4button"> <span class="button_value">Yes</span> </label> <input id="q5button" name="trivia2" class="inputController" type="checkbox"/> <label class="button button-redCK" for="q5button"> <span class="button_value">No</span> </label> <input id="q6button" name="trivia2" class="inputController" type="checkbox"/> <label class="button button-redCK" for="q6button"> <span class="button_label">Maybe</span> </label> </div> </div> </body> </html> 您可以使用 jQuery 添加存储在数据属性中的类名。这使您可以轻松地直接在 HTML 标记中决定颜色按钮。 请注意,删除颜色类别会将按钮恢复为之前的样子。 $(".answer").on("click", function(){ // Reset other answers. $(".answer").removeClass("red green") // Use the classname stored in the button's data attribute $(this).addClass($(this).data("color")) }) .green{ background: green; } .red{ background: red; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap" rel="stylesheet"> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me?</h3> <button class="answer" id="q1button" data-color="green">Yes</button> <button class="answer" id="q2button" data-color="red">No</button> <button class="answer" id="q3button" data-color="red">Maybe</button> </div> </div> 普通 JS 中的相同内容是: let btns = document.querySelectorAll(".answer") btns.forEach(function(btn){ btn.addEventListener("click", function(){ // Reset other answers. btns.forEach(function(btn){ btn.classList.remove("red") btn.classList.remove("green") }) // Use the classname stored in the button's data attribute this.classList.add(this.getAttribute("data-color")) }) }) .green{ background: green; } .red{ background: red; } <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap" rel="stylesheet"> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me?</h3> <button class="answer" id="q1button" data-color="green">Yes</button> <button class="answer" id="q2button" data-color="red">No</button> <button class="answer" id="q3button" data-color="red">Maybe</button> </div> </div> 如果您需要在按钮未聚焦的情况下保持颜色,则需要使用 JS 来维护按钮状态。您可以在公共父级上添加一个 click 事件监听器,如果该事件的目标是一个按钮,只需在其上切换 active 类即可。 单击按钮时,可以合理地取消选择 same 部分中的先前选择(如果有),但如果允许并发选择,则删除内部 if 块。 document.body.addEventListener('click', (ev) => { let currentTgt = ev.target; let previousSelected, section; /* a button is clicked? */ if (currentTgt.matches('button')) { /* comment the next 'if' block if multiple buttons * selection is allowed at the same time. * * Is a button already active and that button is not * the same button I've just clicked? Then remove the * active class from that button */ section = currentTgt.closest('.section'); previousSelected = section.querySelector('.active'); if (previousSelected && currentTgt !== previousSelected) { previousSelected.classList.remove('active'); } currentTgt.classList.toggle('active'); } }) .q1button.active { color: green } .q2button.active, .q3button.active { color: red } <div class="section"> <h2>Question #1</h2> <button class="q1button">Yes</button> <button class="q2button">No</button> <button class="q3button">Maybe</button> </div> <div class="section"> <h2>Question #2</h2> <button class="q1button">Yes</button> <button class="q2button">No</button> <button class="q3button">Maybe</button> </div> 作为旁注,如果您计划有多个部分包含多个问题(和按钮),我建议使用类而不是 id 作为按钮 您可以使用 javascript 事件侦听器,并像单击时那样更改颜色。 当按下另一个按钮时,您还必须取消设置其他按钮。 const btn1= $('#q1button'); const btn2= $('#q2button'); const btn3= $('#q3button'); btn1.click( function() { btn1.css('background', 'green'); btn2.css('background', 'initial'); btn3.css('background', 'initial'); }); btn2.click( function() { btn1.css('background', 'initial'); btn2.css('background', 'red'); btn3.css('background', 'initial'); }); btn3.click( function() { btn1.css('background', 'initial'); btn2.css('background', 'initial'); btn3.css('background', 'red'); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <div class="jumbotron"> <h1>Trivia!</h1> </div> <div class="container"> <div class="section"> <h2>Part 1: Multiple Choice</h2> <hr> <h3>Do you love me?<h3> <button id="q1button">Yes</button> <button id="q2button">No</button> <button id="q3button">Maybe</button> </div> </div> </body>

回答 7 投票 0

ggplot - geom_point:为点抖动设置手动填充颜色而不更改箱线图填充颜色

我一直在生成分组箱线图,以显示与三个“样本”(aDM31_WT、bDM75_WT、cDM31_NS)量化的两个参数(deltaF 和 deltaD)相对应的数据。对于 aDM31_WT 和 bDM75_WT,...

回答 2 投票 0

从数学上增加 RGB 颜色的温暖度

我正在寻找一种使 RGB 颜色“更暖”的方法。我最初尝试增加 RGB 颜色的 R 分量以使其更暖,但这产生了意想不到的结果。正确的做法是什么

回答 3 投票 0

编写一个函数,返回数组中任意数量的十六进制颜色

我堆栈,我不知道如何创建十六进制颜色的数组。如果您知道,请分享。 函数 concatArray(n){ 让 arr = [] 让主题标签 = '#' 让分号 = ',' 让 r = Math.floor(Math.ra...

回答 2 投票 0

使用 VBA 检测字符串格式并将其复制到新单元格

见标题;将动态字符串颜色复制到新单元格并保持新格式。 我最初被视为一个问题: 我这样做是为了复制它;我假设这些文本将是...

回答 1 投票 0

Python 中的多种颜色

我正在绘制一个包含 100 多列的数据框,并为每个索引值堆叠所有这些列,绘图如下: 然而我希望颜色是阴影的方式,或者至少人们可以看到......

回答 2 投票 0

如何使用 C# 在 RadzenLabel 上添加样式颜色?

我显示了从差到优秀的评分,并且我喜欢对每个评分进行颜色编码。我不知道如何使用颜色#203b86。我的代码中也有这个显示网格对象上的颜色......

回答 1 投票 0

如何反转颜色?

我知道这不会直接反转颜色,它只会“反对”它。我想知道是否有人知道一种简单的方法(几行代码)来反转任何给定颜色的颜色? 此刻我

回答 9 投票 0

根据 ggplot2 中 %b-%Y 变量中的月份设置调色板

我有一个数据框,其中包含使用滚动 12 个月数据框按 MonthYear 分组的计数,格式为 %b-%Y。 我使用 ggplot2 创建了一个绘图,并使用下面的代码与

回答 1 投票 0

scale_fill_fermenter()的自定义调色板

我正在使用 ggplot2 的scale_fill_fermenter() 作为离散颜色条图例。可以在调色板参数下指定颜色,但是似乎只有有限的一组调色板可用(那些

回答 2 投票 0

javascript 控制台中的样式链接

我的网站上有一条带有链接的console.log消息。 样式有效,但链接仍为白色背景上的黑色字体。 我可以改变吗? $(函数() { var t = navigator.userAgent.

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.