Paper.js:can't设置符号实例的fillColor
Paper.js: can't set fillColor of a symbol instance
我是paper.js.的新手
对于这个项目,我需要一个将在许多情况下使用的形状(具有不同的填充颜色),所以显然最好使用符号(而不是使用Path.clone()方法)。但是,一旦我将符号实例化为placedSymbol,更改fillColor属性似乎对渲染的形状没有影响:它仍然是符号的初始颜色。
其他特性(如位置或不透明度)已成功设置。
我的问题是:如何更改符号的每个实例的填充颜色?
jsFiddle在这里:http://jsfiddle.net/GlauberRocha/uTskY/(注意,我已经把所有的代码都放在HTML窗格中了。否则似乎不起作用,可能是因为paperscript不是纯javascript)。
纸质代码:
var
path = new Path(),
symbol = {},
inst = [],
colors = ["#1f8f81", "#c7c5a8", "#1b4a9f", "#d6a493", "#1a8879", "#599ce3", "#1a459c", "#b9a87a", "#365db2", "#2479d4", "#a46430", "#1b449a", "#a4632e", "#1a4297", "#3359ad", "#b1852b", "#1a8077", "#1b3849", "#ae832a", "#186cc9", "#1b8178"]
path.add(new Point(0, 56), new Point(56, 0), new Point(56, 40), new Point(0, 96));
path.fillColor = "red";
path.closed = true;
symbol = new Symbol(path);
path.remove();
for (var i = 0; i < 20; ++i) {
inst[i] = symbol.place();
inst[i].fillColor = colors[i]; // Change fill color : NO
console.log(inst[i].fillColor); // But... the correct color value appears here
inst[i].opacity = (i / 30) + .4; // Change opacity: OK
inst[i].position.x = 100; // Change position: OK
inst[i].position.y = 42 * i + 50;
}
由paper.js团队的Jonathan Puckey回答:
这是经过设计的。不能更改符号的实例。要更改项目的颜色,可以创建使用CCD_ 1对路径进行多个拷贝。
$("#symbol_id").find("g").attr('fill', "#colorOfChoice");
Alt,设置要更改的g:s的ID和
$("#symbol_id").find("#g_id").attr('fill', "#colorOfChoice");
相关文章:
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 设置单击项目符号导航后不起作用的间隔
- 内容可编辑DIV单击/插入符号设置
- 如何在node.js中设置mysql连接,以在带无符号整数的算术上抛出超出范围的错误
- 如何使用javascript获取&使用字符偏移量设置插入符号位置
- 如何根据 URL 中符号后的第一个字符串设置变量
- JavaScript:将插入符号位置设置为第一段的开头(Opera bug)
- 如何格式化 html 结构中特定符号内换行的文本并设置其格式
- 尝试将 MaskRe 设置为接受符号
- 如何在焦点上垂直设置文本区域/输入中间的默认光标插入符号
- 当存在 IMG 元素时,如何设置插入符号位置
- Paper.js:can't设置符号实例的fillColor
- 在Froala 2中的内容末尾设置插入符号
- 从当前鼠标位置设置内容可编辑插入符号位置
- 设置文本区域's使用x和y位置的插入符号位置
- 当我们将日期选择器设置为只读模式时,如何防止鼠标指针阻塞符号
- 在高图表中设置自定义图例项符号(或图标)
- 设置插入符号在内容可编辑元素中的位置
- 将插入符号设置为在焦点CKEditor之后结束
- 将自定义符号设置为HighCharts图例