Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >啥是佩奇? SVG 线条动画告诉你。

啥是佩奇? SVG 线条动画告诉你。

作者头像
Javanx
发布于 2019-09-04 02:28:23
发布于 2019-09-04 02:28:23
65900
代码可运行
举报
文章被收录于专栏:web秀web秀
运行总次数:0
代码可运行

前言

首先祝大家2019新年快乐,万事大吉,猪事顺利,阖家欢乐。

前面文章《SVG 线条动画基础入门知识》学习到了基础知识,现在来给大家讲讲如何制作SVG 制作复杂图形线条动画。

假如你有这样的一个gif,要用svg画出来,你能想到什么办法了?

上面这个 SVG 线条动画的路径 path ,如果自己手工一个点一个点定位调试画出来的话,估计你的累趴下(也不一定能搞定)。

下面我来告诉大家一个简单的方法,准备好工具。

使用 PS 导出路径

导入图片

魔术棒or套索工具,选择区域

右击-->建立工作路径-->容差2个像素吧(可以用不同大小的容差多试几次,直到得到一个自己满意的路径。)。

好,这个时候,路径算是建立完成了,可以把图层的透明度设置为 0 ,就能清晰的看到路径长啥样:

好,到了 PS 中的最后一步,点击 文件-->导出-->路径到 illustrator ,看图,照着操作就好:

在 illustrator 中生成 SVG 文件

打开 AI ,打开刚刚用 PS 导出的 *.ai 文件。

可能你看到的是一片空白,别慌,使用ctrl+a全选,就能选中路径啦。

看到了吧,这上面有多少个点,太多,都不想数,所以手工画是不可能的啦。

OK,接下来就是调整画布大小,最好是路径左上角和画布左上角对齐,然后选中存储为 SVG 文件。

好,其实吧 AI 也没做什么,路径是使用 PS 生成的,为什么不直接用 PS 生成 *.svg 文件呢?因为我用的版本 PS 还没支持直接存储为 SVG 格式。然后其实也可以直接在 AI 上绘制路径,这个就看设计师或者你对哪个工具更熟悉了。

获取 SVG 的 path 路径

把刚刚保存的 *.svg 路径的文件用浏览器打开,右键查看网页源代码:

这里的path就是我们要的路径了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="container">
        <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1600 2844" style="enable-background:new 0 0 1600 2844;" xml:space="preserve">

     <path class="yy"  fill-rule="evenodd" clip-rule="evenodd" fill="none"  d="M1170.7,1628.5c1.1,8,8.6,13,6.1,20.8c-1.8,4.2-3.6,5.1-7.8,6.9c-15.9-4.1-20.4-27.8-27.7-40.7
     c-26.3-2.9-60-31.8-84.9-28.6c0,0.3,0,0.6,0,0.9c24.1,50.6,33.3,107,45,172.3c3.8,21.2,5.3,61.9-8.7,71c-11.6,7.6-37.9,0.9-55.4,0.9
     c-46,0-93-0.7-140.3-0.9c-1.4,13.7,1.5,51,6.9,62.3c13-0.4,20.4-0.4,31.2,1.7c6.6,15.6,6.2,22.7-4.3,34.6
     c-11.5,0.9-23.1,1.7-34.6,2.6c-11.7,1.2-23.8-9.6-21.6-21.6c1.1-5.8,7.1-9.6,8.7-13.9c2.2-6.2-6.6-61.8-8.7-64.1
     c-10-4.7-28.4-0.9-41.6-0.9c-24.4,0-104.2-3.9-120.4,3.5c0.3,23.4,0.6,46.8,0.9,70.1c10.4-0.3,30.5-3.9,36.4,1.7
     c9.6,5.1,9.1,16.7,6.1,27.7c-15,8.7-61.1,17.7-69.3-4.3c-3.6-13.9,5.6-16.6,7.8-25.1c-0.6-23.1-1.2-46.2-1.7-69.3
     c-38.7-4.5-148.7,16.8-168.9-6.9c-12.4-14.6-1.5-48.6-0.9-67.5c-7.5-1.4-15-2.9-22.5-4.3c-4.6,2-9.2,4-13.9,6.1
     c-19.1,5.4-36.4-3.1-45.9-10.4c-0.3-2.9-0.6-5.8-0.9-8.7c0.9-1.7,1.7-3.5,2.6-5.2c13.7-1.8,19.8,8.3,36.4,5.2
     c0.3-0.6,0.6-1.2,0.9-1.7c-8.1-23.5-16.7-29.3,4.3-48.5c31.2-1.1,34.4,20.4,30.3,46.8c0.6,0,1.2,0,1.7,0c3.8,0,7.5,0,11.3,0
     c1.2-30.6,15.9-74.8,26-100.4c2.3-8.7,4.6-17.3,6.9-26c5.5-12.1,14.2-26.5,15.6-41.6c-7.1,0.6-74.6,37.4-77.9,41.6
     c-9.8,12-3.4,47.4-21.6,50.2c-2.6-0.9-5.2-1.7-7.8-2.6c-2.9-10.3,4.4-20.8,0.9-29.4c-3.2,2.3-6.4,4.6-9.5,6.9c-5.2-1.7-7-3-10.4-6.1
     c0.3-2.9,0.6-5.8,0.9-8.7c3.1-4.9,7.8-5.7,9.5-12.1c-14.7-0.5-35.4-0.8-32-17.3c1.7-1.7,3.5-3.5,5.2-5.2c19,2.3,38.1,4.6,57.2,6.9
     c24.3-10,47.3-29.5,71-41.6c10.4-4.9,20.8-9.8,31.2-14.7c4.9-10.7,9.8-21.4,14.7-32c6.3-10.4,12.7-20.8,19.1-31.2
     c-13.3-15.1-32-26.2-43.3-43.3c-25.3-38.1-47.3-102-32-166.3c1.4-9.2,2.9-18.5,4.3-27.7c7.2-15.8,13.5-43.8,23.4-57.2
     c10.4-14,31.3-38.2,37.2-53.7c-38.9-23-91-107.2-22.5-138.6c33.4-15.3,77.6,21.5,91.8,36.4c5.1,5.4,13,23.8,20.8,22.5
     c5.2-1.4,11.1-5.5,13.9-9.5c-21.1-32.6-53.3-102-5.2-132.5c38.2-24.2,83.5,14.5,93.5,39.8c3.5,15.3,6.9,30.6,10.4,45.9
     c0.6,0.3,1.2,0.6,1.7,0.9c13.9-4,27.7-8.1,41.6-12.1c21.1-3.5,42.1-6.9,63.2-10.4c22.9-4.9,60.8,7.1,71.9,5.2
     c17.3-5.8,28-21.5,55.4-19.9c58.4,3.3,134.2,90.3,102.2,158.5c-17.8,37.8-94.4,97.4-133.4,116c1.1,9.3,6.1,12,9.5,18.2
     c7.3,13,11.3,29.9,14.7,45.9c13.1,61-11.7,116.9-37.2,148.9c-7.5,7.8-15,15.6-22.5,23.4c12.8,21.6,31.5,41.2,45,63.2
     c4.6,9.2,9.2,18.5,13.9,27.7c9.3,6.8,22.5,4.7,32.9,10.4c18.4,10.1,46.1,22.5,66.7,27.7c9,2.3,42-9.4,58.9-9.5
     c0.9,1.4,1.7,2.9,2.6,4.3c2.6,4.8,0.8,9-1.7,13c-5.5,1.4-11,2.9-16.5,4.3c0.3,1.4,0.6,2.9,0.9,4.3c5.9,1.3,7.5,3.1,11.3,6.1
     c0.3,1.7,0.6,3.5,0.9,5.2C1194.2,1640.6,1183.7,1630.4,1170.7,1628.5z"/>
</svg>
    </div>

运用动画

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
    width: 400px;
    margin: 20px auto;
}

.yy {
    stroke-width: 5;
    stroke: #f987ae;
    animation: lineMove 13s ease-out infinite;
}

@keyframes lineMove {
    0% {
        stroke-dasharray: 0, 4891;
    }
    50% {
        stroke-dasharray: 4891, 4891;
        fill: rgba(0, 0, 0, 0);
        opacity: 1;
    }
    100% {
        stroke-dasharray: 4891, 4891;
        fill: rgba(249, 135, 174, 1);
        opacity: 0;
    }
}

这里的stroke-dasharray长度,可以通过js来获取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var obj = document.querySelector("path");
var length = obj.getTotalLength();

console.log(length);
// 4890.61669921875

是不是很简单了?赶紧自己试试吧。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年2月4日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
线条之美,玩转SVG线条动画
通常来说web前端实现动画效果主要通过下面几种方案: 1. css动画: 利用css3的样式效果可以将dom元素做出动画的效果来。 2. canvas动画: 利用canvas提供的API,然后利用清除-渲染这样一帧一帧的做出动画效果。 3. svg动画: 同样svg也提供了不少的API来实现动画效果,并且兼容性也不差,本文主要讲解一下如何制作svg线条动画。
Javanx
2019/09/05
2.1K0
线条之美,玩转SVG线条动画
vue菜鸡实践
根目录创建vue.config.js文件 基本配置,configureWebpack属性,值是对象时的配置
刘嘿哈
2022/10/25
3560
vue菜鸡实践
Richard S. Sutton经典图书:《强化学习导论》第二版(附PDF下载)
【导读】Richard S. Sutton就职于iCORE大学计算机科学系,是强化学习领域的专家,其在强化学习领域的著作“Reinforcement Learning”一直是认为是强化学习方面的圣经,
WZEARW
2018/04/13
11.3K93
Richard S. Sutton经典图书:《强化学习导论》第二版(附PDF下载)
用 SVG 描边动画送一份平安夜祝福
SVG 是用 Illustrator 画的,苹果是手绘的(虽然是画的丑了点 0.0)。
神说要有光zxg
2021/12/28
3640
用 SVG 描边动画送一份平安夜祝福
SVG 路径动画简易指南
任何有开发经验的前端工程师都会考虑到不成体系的设备生态所带来的挑战。设备间不同的屏幕尺寸、分辨率和比例使得产品难以提供一致的体验,对于那些对产品有着像素级完美追求的人这种体验差异尤其显著! SVG(可缩放的矢量图形)完美地解决了上文中提到的部分问题。尽管 SVG 有它的局限性,但是在某些场景下是非常有用的,如果你有一个好的设计团队,你也可以基于SVG创建一些震撼的视觉体验,而不必担心给浏览器带来过重的渲染负担或阻碍页面的加载时间。
疯狂的技术宅
2019/03/27
3.8K0
SVG 路径动画简易指南
【Web动画】SVG 线条动画入门
通常我们说的 Web 动画,包含了三大类。 CSS3 动画 javascript 动画(canvas) html 动画(SVG) 个人认为 3 种动画各有优劣,实际应用中根据掌握情况作出取舍,本文讨论
Sb_Coco
2018/05/28
2.4K0
SVG 线条动画基础入门知识
1、CSS3 动画 2、javascript 动画(canvas) 3、html 动画(SVG)
Javanx
2019/09/04
3K0
SVG 线条动画基础入门知识
Qt | QChartView+QDateTimeAxis(日期和时间数据图表)+QPieSeries(饼图)
QDateTimeAxis 是 Qt 中用于图表的轴类,它专门用于处理日期和时间数据。这个类允许你在图表上显示和解释与日期和时间相关的数据点。例如,在 Qt 的图表库中,你可以使用 QDateTimeAxis 来创建一个时间序列图表,展示股票价格、天气数据或其他随时间变化的数据。
Qt历险记
2024/08/02
5620
Qt | QChartView+QDateTimeAxis(日期和时间数据图表)+QPieSeries(饼图)
【工具】SAS 基于失业率的分析预测
失业率(UnemploymentRate)是指失业人口占劳动人口的比率(一定时期全部就业人口中有工作意愿而仍未有工作的劳动力数字),旨在衡量闲置中的劳动产能,是反映一个国家或地区失业状况的主要指标。通过对历年各国和地区的失业率数据行分析,我们可以对全世界在这几十年的经济波动情况有个大致的了解,同时我们对世界几个大国的失业情况进行了模型拟合,最后我们还探究了中国从改革开放到2010年这30年的失业率的波动与通胀率的关系。 PART ONE——聚类分析 代码如下: libname ep ‘e:\saslx’
小莹莹
2018/04/19
7860
【工具】SAS 基于失业率的分析预测
MTR工具使用说明文档
Mtr是一个将“traceroute”和“ping”程序功能结合在一起的一个网络诊断工具。
Hunter
2018/02/02
34K11
MTR工具使用说明文档
重磅 | 经典教材 R. Sutton《增强学习导论》最新版(451PDF)
2016年10月18日, 世界人工智能大会技术分论坛,特设“新智元智库院长圆桌会议”,重量级研究院院长 7 剑下天山,汇集了中国人工智能产学研三界最豪华院长阵容:美团技术学院院长刘江担任主持人,微软亚洲研究院常务副院长芮勇、360人工智能研究院院长颜水成、北京理工大学计算机学院副院长黄华、联想集团副总裁黄莹、Intel 中国研究院院长宋继强、新华网融媒体未来研究院院长杨溟联袂出席。 【新智元导读】加拿大阿尔伯塔大学著名增强学习大师 Richard S. Sutton 教授的经典教材《增强学习导论》(Rein
新智元
2018/03/23
1.2K0
重磅 | 经典教材 R. Sutton《增强学习导论》最新版(548PDF)
精彩回顾 2018新智元产业跃迁AI技术峰会圆满结束,点击链接回顾大会盛况: 爱奇艺 http://www.iqiyi.com/l_19rr3aqz3z.html 腾讯新闻 http://v.qq.com/live/p/topic/49737/preview.html 新浪科技 http://video.sina.com.cn/l/p/1722511.html 云栖社区 https://yq.aliyun.com/webinar/play/419 斗鱼直播 https://www.douyu.c
新智元
2018/05/28
1.6K0
奇思妙想 CSS 文字动画
本文将会和这篇 -- CSS 奇思妙想边框动画类似,讲一些文字效果,利用不同的属性搭配,实现各式各样的文字动效。
Sb_Coco
2021/03/11
3.6K0
奇思妙想 CSS 文字动画
Tab Bar动画效果
Tab Bar动画效果 1、hello大家好我又来分享炫酷代码 ,这个是点击后背景颜色会改变,我把代码分享到下面,大家请自行查看。谢谢!!! 2、如果你们有兴趣的话可以可以进网站玩一下这个是链接http://haiyong.site <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <title>海拥 | 源码Tab Bar动画</title> <meta name="description" content="h
海曈
2022/11/14
1.8K0
Tab Bar动画效果
wordpress 设置go跳转页面
摘要:自从用了DUX5.2后,文章内的跳转链接变成了go跳转,但之前并不了解这个东西,所以之前文章内的链接打开直接跳404;,使用go跳转后, 先访问本地的 Go 页面( go 文件夹下的 index.php )然后再跳转到相应的外链网站。
AlexTao
2019/12/13
3.6K0
wordpress 设置go跳转页面
巧用 CSS 实现动态线条 Loading 动画
所以,这里的的难点也就转变为了,如何动态的实现弧形线段的长短变化?解决了这个问题,也就基本上解决了上述的线条变换 Loading 动画。
Sb_Coco
2022/03/10
1.1K0
巧用 CSS 实现动态线条 Loading 动画
王凌华生信大牛又一篇Nature空转新作发布!(文末附文章一作解读会议时间)
本研究从四种不同类型的PDAC病变中收集了速冻组织样本,包括原发肿瘤(Pri)、肝转移(LiM)、肺转移(LuM)和腹膜转移(PerM,包括网膜、膈肌和腹壁),用于10x Genomics Visium平台进行空间转录组(ST)测序,共13名胰腺癌患者的55份原发肿瘤和转移灶样本。
生信技能树
2025/05/04
1120
王凌华生信大牛又一篇Nature空转新作发布!(文末附文章一作解读会议时间)
UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持。  首先我们来看一下 SVG 的文件结构和组成 SVG
Shao Meng
2018/04/28
1.8K0
UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
资源 | Richard Sutton经典教材《强化学习》第二版公布(附PDF下载)
选自incompleteideas 机器之心编译 参与:黄小天、刘晓坤 强化学习教父 Richard Sutton 的经典教材《Reinforcement Learning:An Introduction》第二版公布啦。本书分为三大部分,共十七章,机器之心对其简介和框架做了扼要介绍,并附上了全书目录、课程代码与资料。下载《强化学习》PDF 请点击文末「阅读原文」。 书籍百度网盘:https://pan.baidu.com/s/1miP38tM 原书籍地址:http://incompleteideas.net
机器之心
2018/05/10
8.9K1
Logo小变动,心境大不同,SVG矢量动画格式网站Logo图片制作与实践教程(Python3)
    曾几何时,SVG(Scalable Vector Graphics)矢量动画图在坊间称之为一种被浏览器诅咒的技术,只因为糟糕的硬件支持(IE),和没完没了的兼容性调优(Safari)。但是在2022年的今天,一切都不一样了,正所谓三十年河东,三十年河西,微软所研发的采用Chromium内核作为IE替代者的Edge浏览器已经有望超越Safari成为第二大桌面浏览器,而曾经因为不支持关键帧动画被人诟病的Safari也统一了标准,市面上除了老帮菜IE,几乎所有平台(包括移动端)都已经对SVG足够友好,这让我们可以放心大胆的在网站上应用SVG矢量动画图。
用户9127725
2022/08/08
1.1K0
Logo小变动,心境大不同,SVG矢量动画格式网站Logo图片制作与实践教程(Python3)
相关推荐
线条之美,玩转SVG线条动画
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档