- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 SVG(以及 Canvas、Quartz、Postscript...)中,变换矩阵会影响路径坐标和线宽。有没有办法进行调整以使线宽不受影响?也就是说,在下面的示例中,X 和 Y 的比例不同,这使得正方形变成了矩形,这是可以的,但也会使两侧的线条变宽。
<g transform="rotate(30) scale(5,1) ">
<rect x="10" y="10" width="20" height="20"
stroke="blue" fill="none" stroke-width="2"/>
</g>
我发现这在很多情况下都很有用,但是有没有办法选择退出呢?我想我想要一个单独的笔 TM 或者能够将笔设置为椭圆形,CTM 将其转换为圆形,但我没有看到类似的东西。
缺少这一点,我想我不必告诉 SVG 我的 CTM,而是自己转换坐标,这意味着将 rect
等基元转换为它们的 path
等效项。
最佳答案
编辑:
您可以将一个属性添加到您的矩形中以获得确切的行为:
vector-effect="non-scaling-stroke"
这是错误的:
如果您将变换直接应用于形状而不是其所在的组,则此方法将起作用。当然,如果您想将多个项目分组并将它们全部缩放到一起,则该方法将不起作用。
<rect x="10" y="10" width="20" height="20"
stroke="blue" fill="none" stroke-width="2"
transform="rotate(30) scale(5,1)"/>
这也可能取决于您的 SVG 查看器; Inkscape 按您想要的方式呈现您的文件(描边宽度不受比例影响),但 Chrome 会按您所示的方式呈现它。
关于svg - 如何使笔划宽度不受当前变换矩阵的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357292/
所以我试图通过使用套接字创建一个类似同步绘画程序的东西。我有一个服务器端..和一个客户端,我试图将inkCollection从服务器发送到客户端。这适用于简单的文本,但我似乎无法发送inkCollec
我正在胡思乱想,无法控制路径宽度。 看到倒数第二行,真是莫名其妙: var paper = Raphael(20, 20, 320, 320); function arc(center, radi
我想提一下,这篇文章类似于 Continuous drawing in CGContext with drawRect但它没有任何代码片段解决方案,所以再次询问。 我正在学习 iOS 开发应用程序。我
我正在创建很多元素,这些元素基本上基于模板,但具有不同的大小和颜色 - 圆圈、方框、星号、菱形、图表中经常使用的元素。我发现我可以使用 SVG Symbol 来定义我的模板,如下例所示: http:/
我正在使用 Chart.js 创建圆环图,但遇到了圆环上的笔划被 Canvas 对象 chop 的问题。 Canvas 上的填充/边距并没有为我解决问题。知道发生了什么事吗? JSFiddle her
我试过设置描边颜色。它可以使用 linearGradient 但不能使用 solidColor :
我目前正在调整文件输入以使用预览显示其内容 标签。 ..... 使用一些 CSS,它在 Chrome 上正确呈现,但我在 Firefox 上(并且仅在 Firefox 上)在正
我有一组三 Angular 坐标。每三个点一个 vector 。在下图中,这个三 Angular 形是 thin yellow 三 Angular 形。我需要向这个向内和向外突出的三 Angular
我是一名优秀的程序员,十分优秀!