首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个比想象中更骚气-svg实现

之前写了一篇Canvas画图-一个比想象中更骚气(渐变圆环),其实SVG也可以实现类似的效果,而且两者api惊人相似。...和之前给canvas版骚气圆环用渐变一样,svg实现也是定义一个线性渐变,然后让用这个渐变来描边stroke="url(#SVGID_1_)" 实际上出来效果,和Canvas渐变是异曲同工,即使...,这里r设置49和Canvas原理一样,想画看起来半径54,需要用54减去描边宽度一半,54-10/2,而这里stroke-dasharray第一个数,我这里设置周长,2Math.PI49...另外我还在上面加了一个,用来做底色,同时给做动画做了一个旋转transform="rotate(-88 54 54)"用来改变起始点。 效果如下: ?...至此,骚气圆环SVG版也就完成了,总体上来说svg实现更简单,做动画代码也比较少,相对于canvas需要占用js线程进行一定量计算来说,svg性能要好一些。

3K70
您找到你想要的搜索结果了吗?
是的
没有找到

三种 Loading 制作方案

作者:JS_Even_JS 来源:https://segmentfault.com/a/1190000038692080 一、简介 Loading几乎是每个应用都会用到一个组件。...很多组件库都会提供相应Loading组件,但是有的时候我们可能需要自定义Loading效果,掌握Loading组件制作基础知识将变得非常必要。...二、通过svg来绘制圆环 SVG 意为可缩放矢量图形(Scalable Vector Graphics),其使用 XML 格式定义图像, 标签可用来创建一个,同时外面必须嵌套一个<svg...截图区域中,绘制圆心正好在截图区域中心,所以截图区域四周边框与绘制之间有5px距离,而半径为20px,所以比例为1:4,现在将svg显示区域变为60px,所以也需要将截图区域等比例放大并占满整个...,并且顺时针移动31像素,即圆环1/4,所以实线起点变为了圆环最底部,实线长度为95像素,即圆环3/4,如图所示, ?

3.1K10

Power BI 模拟麦肯锡半圆气泡图

这个气泡图有三个特点: 1.半圆显示 2.数据标签和类别标签同时显示 3.半圆底部有一条淡淡灰色线条进行大小比较提示 前期已经分享过如何在Power BI制作气泡,半圆气泡原理是一样,只需要把下半部分遮盖...实现方式是度量值嵌入SVG矢量图。首先看全怎么做?...> " 使用SVGcircle标签;中间横线可以使用line标签,也可以如示例使用rect,也就是说一个很窄矩形;数据标签和类别标签均使用text生成。...接下来问题是,如何变成半圆? SVG有图层概念,在下半部分进行图层叠加,放一个白色长方形在上方,且在类别标签下方。...半径为50像素,上下分割部分直线高度占据了1像素,因此,遮盖矩形高度49像素。 在此基础上,可以新增条件格式,如横线颜色按数值大小变化。

3.4K30

【DeveMobile实例】d3.js 与Trianglify 制作SVG格式Low-Poly 特效

在升级了DeveMobile 主题时候Jeff 也顺便将主题主页进行了更新,访问主页你会看到首屏Low-Poly 背景(每次刷新都不同),这个效果就是利用了d3.js 与Trianglify 制作...所需元素介绍 d3.js 自维基百科:D3.js(D3或Data-Driven Documents)是一个用动态图形显示数据JavaScript库,一个数据可视化工具。...兼容W3C标准,并且利用广泛实现SVG,JavaScript,和CSS标准。...Trianglify Trianglify 是一个能够生成五颜六色三角形图案 JavaScript 库,可以用来作为 SVG 图像和 CSS 背景。...它灵感来自于 Btmills Geopattern,并使用 d3.js 建立多边形 SVG 图形和使用 SVG 过滤器进行渲染。

1.9K80

TryShape 背后故事,CSS 剪辑路径属性展示

几个月前,我开发了一个应用程序,让我 7 岁女儿学习数学。除了基本加法和减法之外,我目标是用形状来提出问题。那时我熟悉了 CSSclip-path属性,这是一种在网络上制作形状可靠方法。...我们可以使用此值指定位置和半径。...在这种情况下,中心(0,0)位于半径为 70px位置。这使得元素内仅可见一部分。 中心位于 (0, 0) 坐标处,70px x 70px 区域剪裁了左下角区域。...在下图中,我们在半径所在位置看到一个椭圆,(50%,50%)形状为 70 像素宽和 100 像素高。 我们需要指定两个半径值和一个位置来创建椭圆。...downloadjs : 从 JavaScript 触发下载 html-to-image:将 HTML 元素转换为图像(包括 SVG、JPEG 和 PNG) Vercel:最适合托管 Next.js 应用程序

2K30

Android 优化——应用瘦身

resource文件 shrinkResources true } 使用 SVG 图片格式 SVG 可被非常多工具读取和修改(比如记事本),由于使用 xml 格式定义,所以可以直接被当作文本文件打开...,看里面的数据 SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强,SVG 图就相当于保存了关键数据点,比如要显示一个,需要知道圆心和半径,那么 SVG 就只保存圆心坐标和半径数据...,而平常用位图都是以像素形式根据图片大小保存对应个数像素点,因而 SVG 尺寸更小 SVG 是可伸缩,平常使用位图拉伸会发虚,压缩会变形,而 SVG 格式图片保存数据进行运算展示,不管多大多少...,可以不失真显示 SVG 图像可在任何分辨率下被高质量地打印 SVG 可在图像质量不下降情况下被放大 SVG 图像中文本是可选,同时也是可搜索(很适合制作地图) SVG 可以与 Java 技术一起运行...SVG 是开放标准 SVG 文件是纯粹 XML 内嵌音频文件不要太大,最好控制在 100K 以内 支持插件化

92311

HTML5(九)——超强 SVG 动画

eg:绘制一个半径为10,延迟4秒从左上角运动右下角。...以上这些元素虽然能够实现动画,但是无法动态地添加事件,所以接下来我们就看看 js 如何制作动画。...制作SVG动画,主要利用 requestAnimationFrame 来实现一帧一帧改变。...我们上述制作 SVG 图形、动画等,运行在低版本IE中,发现SVG只有IE9以上才支持,低版本并不能支持,为了兼容低版本浏览器,可以使用 VML ,VML需要添加额外东西,每个元素需要添加 v:元素...三、Raphaël.js (拉斐尔) Raphael.js是通过SVG/VML+js实现跨浏览器矢量图形,在IE浏览器中使用VML,非IE浏览器使用SVG,类似于jquery,本质还是一个javascript

3.7K30

HTML5(九)——超强 SVG 动画

eg:绘制一个半径为10,延迟4秒从左上角运动右下角。...以上这些元素虽然能够实现动画,但是无法动态地添加事件,所以接下来我们就看看 js 如何制作动画。...制作SVG动画,主要利用 requestAnimationFrame 来实现一帧一帧改变。...我们上述制作 SVG 图形、动画等,运行在低版本IE中,发现SVG只有IE9以上才支持,低版本并不能支持,为了兼容低版本浏览器,可以使用 VML ,VML需要添加额外东西,每个元素需要添加 v:元素...三、Raphaël.js (拉斐尔) Raphael.js是通过SVG/VML+js实现跨浏览器矢量图形,在IE浏览器中使用VML,非IE浏览器使用SVG,类似于jquery,本质还是一个javascript

3.1K40

HTML5(九)——超强 SVG 动画

eg:绘制一个半径为10,延迟4秒从左上角运动右下角。...以上这些元素虽然能够实现动画,但是无法动态地添加事件,所以接下来我们就看看 js 如何制作动画。...制作SVG动画,主要利用 requestAnimationFrame 来实现一帧一帧改变。...我们上述制作 SVG 图形、动画等,运行在低版本IE中,发现SVG只有IE9以上才支持,低版本并不能支持,为了兼容低版本浏览器,可以使用 VML ,VML需要添加额外东西,每个元素需要添加 v:元素...三、Raphaël.js (拉斐尔) Raphael.js是通过SVG/VML+js实现跨浏览器矢量图形,在IE浏览器中使用VML,非IE浏览器使用SVG,类似于jquery,本质还是一个javascript

2.4K20

JS放大镜制作

获取鼠标在盒子位置 就是mask坐标 //鼠标在页面的位置减去盒子在页面的位置 var maskX = e.pageX-box.offsetLeft; var maskY =.../mask最大移动距离=大图片移动距离/大图片移动最大距离 //大图片移动最大距离=大图片宽度减去big盒子宽度 //mask移动最大距离 var maskMax = box.offsetWidth...- mask.offsetWidth; //大图片移动最大距离 var bigImgMax = bigImg.offsetWidth - big.offsetWidth //大图片移动距离 var...bigImgMax / maskMax //使图片往前走 bigImg.style.left = -bigImgX+ 'px'; bigImg.style.top = -bigImgY+'px' 到次完成放大镜制作...,这里主要是利用mask与大图移动比值 mask移动距离/mask最大移动距离=大图片移动距离/大图片移动最大距离 图片 图片

2.8K20

Matter.js 插件:matter-wrap(世界是

---- 本文简介 记得以前看爆笑校园里有一集讲到,一个人对着前面开了一枪,过了一阵子弹打中他自己后脑勺。作者想通过这个冷笑话告诉大家一件事:地球是。...如果想让 Matter.js 世界变成“,可以使用 matter-wrap 这个插件。 matter-wrap 是什么?...简单来说,它可以让 matter.js 创建出来场景变成一个循环场景。当物体穿越边界后,会从另一个边界出现。同时还保存它自身速度和其他物理特性。...根据你项目而定吧~ CDN 可以打开 matter-wrap 仓库 matter-wrap.js 和 matter-wrap.min.js 这两个文件,下载下来然后引入到项目中即可。...在 《物理世界互动之旅:Matter.js入门指南》 里有讲到如何使用 matter.js 创建画布和物体,这里我就不再啰嗦了。

21520

Power BI 模拟麦肯锡前后对比气泡图

前三篇如下 Power BI模拟麦肯锡客流转化漏斗图 Power BI模拟麦肯锡多种正方形图表 Power BI模拟麦肯锡华夫饼百分比图 麦肯锡McKinsey Insights APP展示了一种直观前后对比气泡...这个图表由两个、两个数据标签和一个连接阴影组成。Power BI模拟如下图所示: 图表使用一个度量值嵌套SVG矢量图生成。第一步是构思图表布局。...从麦肯锡示例来看,这两个不会相交,且靠下对齐,极端情况下如下图所示。此处假设一个最大半径是25像素,可知我们需要宽度为100像素、高度为50像素画布空间。...两个大小是相对变化关系,因此需要判断两个数据哪个是最大值,把最大值半径设置为最大半径(即25个像素),另外一个在此基础上相对变化: 最后是怎么画图问题,圆圈使用SVGcircle标签...,数据标签使用text标签,两个连接阴影部分使用多边形polygon,如下注释说明: 把以上度量值放入表格、矩阵或者ImageByCloudScope视觉对象,即可正常显示:

1K30

带你了解SVG标签

专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 js学习 目录 初始SVG 矩形,圆形和椭圆型  矩形  圆形  椭圆形 绘制线条 多边形 连续线条  线条  多边形  连续线条...绘制文本 绘制路径 阴影和模糊 初始SVG SVG是一种图形文件格式,它英文全称为Scalable Vector Graphics,意思为可缩放矢量图形。...图片格式一般都是像素处理,图片放大会模糊失真,svg格式属于是对图片形状描述,所以它本质上是文本文件,体积较小,并且不管放大多少倍都不会模糊失真。...使用时直接在img标签中写入svg格式图片即可。 矩形,圆形和椭圆型 如何使用svg绘制特殊形状,svg标签中中有一些预定义属性标签。...-- rx ry分别为x轴和y轴半径长度 --> <rect rx="20" ry="20" y='20' width="100" height="100" fill="blue"

1.9K60

Power BI自定义任意迷你图

前文介绍了如何制作迷你着色地图,本文讲解Power BI中其他迷你图制作方法。例如: 条形图:表格中条形长度大小表示业绩多少,并且按照业绩规模有颜色变化,下方有数据标签,看上去很像条件格式。...:与条形类似,大小随着数据大小而变化。 百分比图:常用来显示占比,例如业绩达成。彩色部分表示达成多少,未达成彩色部分为红色,达成为绿色,灰色部分为未达成比例。...和百分比组合下: 以上示例抛砖引玉,均通过DAX修改SVG代码实现,实际上可以发挥你想象力,迷你图可以是任何样式。 以下给出示例度量值,注意需要将度量值格式设置为图像URL才可使用。...> " = VAR W1=MAXX(ALL('数据表'),[数据])/40 VAR W2=[数据]/W1 VAR Color=IF([数据]<100,"#B7472A","#217346") RETURN...> " 和百分比图 = VAR W1=IF([业绩完成率]1,100,[业绩完成率]*100)) VAR Color=IF([业绩完成率]<1,"#B7472A",

55940
领券