0
更新 - 这是我使用动力学的最终jsfiddle工作版本。如何绘制使用Kinetic JS和画布看起来浮雕的文字?
我试图用两种不同的阴影显示文字来创建“浮雕”外观。我正在使用我想要得到的使用CSS的结果的jsfiddle as a model。
这里是我正在与Kinetic JS工作的jsfiddle。
var stage = new Kinetic.Stage({
container: 'stage-container',
width: 400,
height: 200
});
var layer = new Kinetic.Layer();
stage.add(layer);
var darkShadow = new Kinetic.Text({
text: 'Hello',
x: 140,
y: 80,
fill: '#000000',
fontSize: 60,
opacity: 0.8,
filter: Kinetic.Filters.Blur,
filterRadius: 1
});
layer.add(darkShadow);
var lightShadow = new Kinetic.Text({
text: 'Hello',
x: 136,
y: 76,
fill: '#FFFFFF',
fontSize: 60,
opacity: 0.3,
filter: Kinetic.Filters.Blur,
filterRadius: 1
});
layer.add(lightShadow);
var mainText = new Kinetic.Text({
text: 'Hello',
x: 138,
y: 78,
fill: '#FFFFFF',
fontSize: 60,
opacity: 0.8
});
layer.add(mainText);
layer.draw();
我目前正在绘制文本3次,只是抵消他们获得每个阴影,然后正文。我的问题是,主文本需要不透明才能显示背景颜色。这里有一些截图,看看我对抗什么。
只是阴影...
与所有3文本对象...
我的下一个想法是创建主文本的剪贴蒙版从两个阴影中减去该阴影,然后用不透明度绘制主文本以产生背景颜色。但我不确定如何去做,或者如果有更好的方法。
这帮助了很多,谢谢!我已经在Kinetic中实现了这一点,并使其工作。但是,一个问题是我正在发生轻微的“晕圈”效应。你能看到可能是什么原因吗? http://jsfiddle.net/chadsaun/x77tjrw6/13/ – Chad
@Chad这是光影模糊延伸到黑暗的阴影。如果不修改阴影和文本颜色中必须补偿的效果的强度/对比度,则无法修复它。向上移动突出显示文本并向左移动一个像素,或突出显示的影子偏移量相同。或者使用更多图层并减少阴影模糊,用较低的Alpha偏移文本,通过重复创建模糊。有许多方法可以创建浮雕效果,试验并看看适合您的是什么。 – Blindman67