首先,新建一个文档,用圆角矩形工具,或者矩形工具+圆角效果,画出这样的图形:
然后,执行菜单命令「效果」-›「SVG 滤镜」-›「应用 SVG 滤镜」命令,在弹出的对话框中,新建一个 SVG 滤镜:
FEVTE编注:更多AI教程讨论及AI作品提交请到飞特论坛AI交流区:https://www.fevte.com/forum.php?mod=forumdisplay&fid=156&filter=typeid&typeid=132
然后,把下面的代码复制、粘贴替换掉文本框里的内容,点击确定:
最后,点「确定」应用效果,内阴影效果就出来了,带有(5,5)方向的偏移:
如果发现图形带有锯齿,类似这样:
那么,执行命令「效果」-›「文档栅格效果设置」,勾选「消除锯齿」,即可以了。
Done. 如果希望调整内阴影的偏移,调整 dx, dy 的值即可。改变内阴影的颜色和透明度,可以通过调整
标签里的 flood-color 和 flood-opacity 属性来做到。这个方法应该是在 AI 中创建内阴影最省力,效果还不错的办法了。不过要注意,这个滤镜通常应该放到「效果」面板的最后边,因为图形在应用这个滤镜后就被栅格化了。
注:这个方法来自 StackExchange 上的讨论: Inner shadow issue in Illustrator CS5 ,更早的出处是源自:SVGQuickRef ,不过这个站点的域名当前已经过期,不能正常访问了 = =
在上面的例子里,我们使用 AI 的 SVG 滤镜功能,自己写了一个滤镜,应用到了圆角矩形上,生成了内阴影效果。出于好奇,我研究了一下 how it works,发现这一块儿水还挺深。下面,就说说 AI 里的 SVG 滤镜功能。下面的这部分,就当拓展阅读好了,可能有些晦涩难懂,所以不要求掌握。不过,掌握 SVG 滤镜的应用后,就可以自己写一些简单的滤镜在 AI 里来用了。
首先,说说 SVG 是什么。SVG 的全称是 Scalable Vector Graphic,即可缩放矢量图形。SVG 实际上是纯文本 XML 格式,通过 XML 定义图形的形状、填充颜色、描边等。在维基百科中,就大量应用了 SVG 格式作为国旗国徽、地图、信息图应用。
SVG 除了可以描述矢量图形的形状、填充颜色、描边等,还可以使用滤镜对图形进行进一步的修饰。这里的滤镜就是 SVG 滤镜(SVG Filters)。网上有关于 SVG 滤镜的资料少的可怜,无论中文还是英文。不过,还是根据现有有限的资料,大概了解了一下 SVG 滤镜到底是什么样的玩意儿,以及怎样来用。
SVG 滤镜同以 SVG 格式描述矢量图一样,也是纯文本 XML 格式。SVG 滤镜以 标签开始,以 标签结束。在 和 标签之内的部分为滤镜的定义。在 AI 里, 标签里的 id 属性,即为显示在 SVG 滤镜面板中的滤镜名。
SVG 滤镜的一个重要概念是基础滤镜(filter primitives),每个基础滤镜可以执行某个特定的修饰功能,例如颜色变换等。所有的基础滤镜命名都以 "fe" 为开头,应该是 filter effect 或 filter element 的缩写,如上面的 , 这些。一个 SVG 滤镜可以由一个基础滤镜或多个基础滤镜的组合来完成。知道这些后,回过头来看一下,上面的内阴影效果是怎样一步一步地实现的。为方便查看,把画板的背景设置为这样的网格:
首先,执行第一步操作:
这一步, 基础滤镜让原始图形向下和向右两个方向平移均五个像素(注意和上图的边界框与背景网格做比较):
然后是
基础滤镜的作用正如它的名字那样,为图形做高斯模糊,其中,stdDeviation 参数为高斯模糊的标准差,决定模糊半径。在为上面的图形做高斯模糊后,将结果暂存在缓冲区,名称为 "offset-blur":
飞特游客
查看全部评论(13)
委托设计