Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >在SVG中放置一定角度的路径

在SVG中放置一定角度的路径
EN

Stack Overflow用户
提问于 2016-08-03 23:12:35
回答 2查看 920关注 0票数 1

我有下面的代码,其中包含一个用(路径)和一个圆绘制的三角形。我想把三角形45度放置在所有的四个轴上。我不知道怎么用数学方法。圆的半径可能会变化。那么,如何将三角形分别放置在4个位置上,如下面的图像所示?(三角形应该是圆内的单个像素)。

代码语言:javascript
代码运行次数:0
复制
.st0{fill:#F24343;}
代码语言:javascript
代码运行次数:0
复制
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 style="enable-background:new 0 0 22 14;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#F24343;}
</style>
  <circle cx="40" cy="40" r="20" fill="green"/>
<path class="st0" d="M22,0H0l9.4,12.8c0.8,1.1,2.4,1.1,3.2,0L22,0z" style="transform: translate(22px,44px) rotate(45deg)"/>
</svg>

 <circle cx="40" cy="40" r="20" fill="green"/>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-04 01:05:38

您可以使用CSS转换或SVG transform属性来实现这一点。

您可以通过在标记中放置圆圈和路径来旋转路径和圆,并且可以使用CSS转换来旋转它。

代码语言:javascript
代码运行次数:0
复制
<g class="rotate_me">
  <circle cx="40" cy="40" r="20" fill="green"/>
  <path transform="rotate(5 50 50)" class="st0" d="M22,0H0l9.4,12.8c0.8,1.1,2.4,1.1,3.2,0L22,0z" style="transform: translate(22px,44px) rotate(45deg)"/>
</g>

CSS:

代码语言:javascript
代码运行次数:0
复制
.rotate_me {
  transform: rotate(180deg);
  transform-origin: 50% 50%;
}

您还可以将类添加到path中,并使用转换原点来获得所需的值。

代码语言:javascript
代码运行次数:0
复制
<path class="rotate_me" d="M 15.1929 28.9648 L 15.1929 11.8555 L 29.1138 20.4102 L 15.1929 28.9648 Z" fill="#74c190"/>

IE9不支持SVG元素上的CSS转换。您可以尝试路径元素的transform属性。

代码语言:javascript
代码运行次数:0
复制
<path transform="rotate(25 20 10)"  d="M 15.1929 28.9648 L 15.1929 11.8555 L 29.1138 20.4102 L 15.1929 28.9648 Z" fill="#74c190"/>

您可能还想看看:https://css-tricks.com/snippets/css/css-triangle/

您可以参考这三个示例的粗略示例代码:http://codepen.io/priyanka-herur/pen/yJRYZV

票数 1
EN

Stack Overflow用户

发布于 2016-08-04 01:47:12

你正在通过定义你的指针三角形使你自己的生活变得很困难,因为你在离需要指针三角形的地方有一些奇怪的地方。

如果你在正常的"0“位置定义你的三角,你可以很容易地把它指向你想要的地方(见下面)。

rotate()的第一个值是角度,另外两个坐标是旋转中心。在你的例子中,是40,40 (圆周的中心)。

代码语言:javascript
代码运行次数:0
复制
.st0{fill:#F24343;}
代码语言:javascript
代码运行次数:0
复制
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 style="enable-background:new 0 0 22 14;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#F24343;}
</style>
  <circle cx="40" cy="40" r="20" fill="green"/>
  <path class="st0" d="M28,21 L 52,21, L40,8 Z" transform="rotate(45, 40,40)"/>
</svg>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38760708

复制
相关文章
【SVG】Path 路径用法详解
SVG Path可用于绘制复杂的路径,如创建线条, 曲线, 弧形等等。其所有属性中,属性d是一个“命令+参数”的序列,用于描述路径,Path强大正在于d属性,因此掌握了d属性成了关键。
Yorkyu
2022/03/22
3.1K0
【SVG】Path 路径用法详解
SVG 路径动画简易指南
任何有开发经验的前端工程师都会考虑到不成体系的设备生态所带来的挑战。设备间不同的屏幕尺寸、分辨率和比例使得产品难以提供一致的体验,对于那些对产品有着像素级完美追求的人这种体验差异尤其显著! SVG(可缩放的矢量图形)完美地解决了上文中提到的部分问题。尽管 SVG 有它的局限性,但是在某些场景下是非常有用的,如果你有一个好的设计团队,你也可以基于SVG创建一些震撼的视觉体验,而不必担心给浏览器带来过重的渲染负担或阻碍页面的加载时间。
疯狂的技术宅
2019/03/27
3.6K0
SVG 路径动画简易指南
SVG 直线路径写法示例
大写字母表示到后面值为绝对值,小写字母表示后面值为相对当前点的值 画一条起点是(10, 10)终点点是 (20, 30) 的线
前端GoGoGo
2018/08/24
7520
在 kbone 中实现小程序 svg 渲染
2019 年底,微信小程序已经推出了近三个年头,我身边的前端开发者基本都做过至少一次小程序了。很多友商曾打算推动小程序进入 W3C 标准,而微信并不为所动,个人认为,小程序本身在框架设计上称不上「标准」,微信也并没打算做一个「标准的平台」。
binnie
2019/12/11
2.1K0
在 kbone 中实现小程序 svg 渲染
Android--SVG在安卓系统中的应用
通过使用它的Path标签,几乎可以实现SVG中的其它所有标签,虽然可能会复杂一点,但这些东西都是可以通过工具来完成的,所以,不用担心写起来会很复杂。
aruba
2020/07/03
2.8K0
在小程序中 SVG 的打开方式
第一种,也是最简单直观的方式,即把svg后缀的文件视作为和PNG、JPEG、GIF类似的图片:
pak
2022/08/11
2K0
计算旋转一定角度后的向量
结论 图片 并且它们的模长相等。 推导 仅用到一点点极坐标和和角公式的内容: 图片
kifuan
2022/10/24
1.4K0
计算旋转一定角度后的向量
【Flutter 绘制番外】svg 终篇 - 路径指令
上两篇我们通过对 svg 路径 M/H/V/L/C/Q/Z 几个指令的解析。把 掘金 logo 的 svg ,转化为 Flutter 的原生路径绘制,并且附加了一些绘制效果。
张风捷特烈
2022/04/15
1.5K0
【Flutter 绘制番外】svg 终篇 - 路径指令
Unity - 在鼠标点击的位置放置对象
你可以使用函数实例化多个给定的游戏对象或预制对象。 Instantiate (Object Target, object’s position, object’s rotation)或者Instantiate (Object Target)。
hrscy
2018/08/30
5.3K0
Unity - 在鼠标点击的位置放置对象
让文字沿着路径动起来 (SVG)
由于我对 SVG 也不是太熟悉,有些地方可能有所疏漏,有什么疑问欢迎留言,有什么写错的地方,欢迎指出哈。
Bob.Chen
2018/05/02
2.9K2
让文字沿着路径动起来 (SVG)
SVG在Power BI中的应用及相关图表插件盘点
SVG,全称Scalable Vector Graphics,即可缩放矢量图形,在Power BI中有着广泛的用处。本文将用法总结为三类,并详述在每种用法使用什么图表插件。
wujunmin
2021/10/18
5K0
SVG在Power BI中的应用及相关图表插件盘点
小技巧 - 在Finder中显示路径
即 option + command + P键 ,之后你的Finder就可以显示当前路径了!
老高的技术博客
2022/12/28
3.3K0
小技巧 - 在Finder中显示路径
C++中的定位放置new(placement new)
一般来说,使用new申请空间时,是从系统的“堆”(heap)中分配空间。申请所得的空间的位置时根据当时的内存的实际使用情况决定的。但是,在某些特殊情况下,可能需要在程序员指定的特定内存创建对象,这就是所谓的“定位放置new”(placement new)操作。
恋喵大鲤鱼
2018/08/03
9640
一篇文章带你了解SVG <path> 路径
path元素是用来定义形状的通用元素。所有的基本形状都可以用path元素来创建。SVG <path>元素用于绘制由直线,圆弧,曲线等组合而成的高级形状,带或不带填充。该 <path>元素可能是所有元素中最先进,最通用的SVG形状。
前端进阶者
2021/01/22
1.7K0
SVG 图标在React项目中的优化
官方文档:https://webpack.docschina.org/loaders/url-loader/
javascript.shop
2019/09/04
3.7K0
SVG 图标在React项目中的优化
晶振为什么不能放置在PCB边缘?
某行车记录仪,测试的时候要加一个外接适配器,在机器上电运行测试时发现超标,具体频点是84MHz、144MHz、168MHz,需要分析其辐射超标产生的原因,并给出相应的对策,辐射测试数据如下:
AI 电堂
2022/12/08
3730
晶振为什么不能放置在PCB边缘?
SVG - 基本的SVG属性
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。 line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo <line x1 = "20" y1 = "20" x2 = "200" y2 = "180" st
HTML5学堂
2018/03/12
4.1K0
一篇文章带你了解SVG <clippath>剪切路径
SVG剪切路径(也称为SVG剪切)用于根据特定路径剪切SVG形状。路径内部的形状部分可见,外部的部分不可见。
前端进阶者
2021/01/22
2.5K0
c++ const放置的位置
标准中int const a 与 const int a 是完全等价的。正因为如此,会有很多各种不同的风格,同样的还有“*是跟类型还是变量?”,比如char* p与 char *p,它们是等价的。
meteoric
2018/11/19
1.9K0
Hexo 中 MathJax 的静态显示(svg)
对 NexT 主题来说,是支持 MathJax 的,但是感觉不够清真: 动态加载,渲染还要时间; 有个右键菜单,感觉没必要。 本文尝试利用 gulp 和 gulp-mathjax-page 将公式直接
莲花海
2020/01/21
2.1K0

相似问题

在SVG中沿路径放置对象

14

svg在路径上放置形状

22

svg.js将文本放置在路径中间

12

如何将文本放置在svg路径的中心

23

如何使用Raphael在SVG中放置对象/路径的阴影?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文