svg - 如何在处理过程中为 svg 着色并保持亮度?
问题描述
我已经尝试解决这个问题两天了,所以我希望有人可以提供帮助。
我需要加载其中包含多个灰色值的 svg 文件并用颜色对其进行着色。例如,假设 svg 文件是一块岩石的图像,并且有 4 个灰度值。我需要能够将岩石显示为红色并保持不同子形状中值之间的差异。换句话说,我希望它像 PImage.tint() 一样工作。
我看到 PShape 有 tint() 和 setTint() 方法,但我似乎无法让它们工作。我也考虑过遍历子形状并单独阅读每种颜色并适当地重新着色,但我什至无法弄清楚如何以我理解的方式读出颜色。
帮助,有人吗?
解决方案
如果你有它,<img>
你可以使用 CSS 过滤器属性和 hue-rotate https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/hue-rotate
或者您将 svg 直接添加到 html 并将类添加到您的元素。然后您可以更改脚本中的颜色。
推荐阅读
- blockchain - 如何为 Polkadot 或 Kusama 等 Substrate 链生成销毁地址?
- kotlin - 使用 kotlinx.html 通过迭代构建 HTML
- python - ValueError:尝试转换一个值(
) 具有不受支持的类型 - javascript - 在 redux 中间件中分派多次是否有效?
- python - Python:有没有办法让脚本以管理员身份运行而无需在之前以管理员身份运行后提示?
- python - 将 Column(str) 转换为 (Float) ,ValueError: could not convert string to float: 'Null'
- python - 获取使用python运行的特定屏幕的分辨率
- javascript - 在 Tooltip R Highcharts 中添加附加信息
- tmux - 是否可以在不禁用鼠标模式的情况下在 tmux 中禁用鼠标调整大小?
- c# - 如何在不使 AutoCAD 崩溃的情况下读取文件?