问题标签 [stroke]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1317 浏览

html - 防止描边边框溢出路径

strokeRect (0, 0, canvasWidth, canvasHeight);绘制一个完整的矩形,但线宽减半,这是一个示例:

问题截图

我可以解决这个问题,但并不优雅:

不雅解的截图

有没有本地方法可以做到这一点?类似于“box-sizing”css3 属性的东西:

谢谢。

0 投票
3 回答
442 浏览

svg - SVG 笔划作为胶合线

有没有办法定义单个多边形的笔触,使它看起来像多个胶合多边形?看这张图片:
相邻行

0 投票
3 回答
3194 浏览

java - AffineTransform 不转换 Stroke?

当使用scale()具有两个不同参数的 Graphics2D 函数(在 x 和 y 方向上按不同比例缩放)时,稍后在此 Graphics2D 对象上绘制的所有内容也会被缩放。这有一种奇怪的效果,即在一个方向上绘制的线比在另一个方向上的线更粗。下面的程序产生了这种效果,它显示了这个窗口:

示例截图

我正在使用此坐标变换来避免必须手动将我的应用程序模型坐标(本示例中的 (2,1, 2,4))转换为屏幕(或组件)像素坐标,但我不希望这种笔画失真. 换句话说,我希望所有线条都具有相同的宽度,与当前的 x 和 y 比例因子无关。

我知道是什么产生了这种效果(Stroke 对象创建了要在用户坐标中绘制的矩形的描边形状,然后将其转换为屏幕坐标),但我不确定如何解决这个问题。

  • 我是否应该创建一个新的 Stroke 实现,在 X 和 Y 方向上以不同的方式描边 Shapes(从而在此处撤消失真)?(或者是否有人已经知道这样的实现?)
  • 我应该将我的形状转换为屏幕坐标并在那里描边吗?
  • 还有其他(更好的)想法吗?
0 投票
1 回答
942 浏览

cocoa - Cocoa NSBezierPath - 中风。颜色与预定义颜色不同的崩溃

我有以下问题。我正在编写我自己的类,它必须绘制一个指定大小的圆圈,并用渐变填充它。

我用一个圆作为 NSBezierPath 来制作它,我使用它绘制我的渐变

所以一切都很好,除了一件事:当我在 drawRect 的末尾执行以下命令时:代码:

我收到错误:(程序收到信号:“EXC_BAD_ACCESS”)并且调试器指向与

我将borderColor设置为

例如。

只有当我将边框颜色设置为任何预定义颜色时,它才能正常工作:blackColor、clearColor、greenColor。但是我尝试手动设置的任何一个都会崩溃。

有人知道关于颜色的任何限制或可能导致此类问题的东西吗?我没有发现 BezierPath 的笔触颜色有什么特别之处。

谢谢你。

0 投票
4 回答
2360 浏览

wpf - WPF/Silverlight:是否可以为每个边缘设置不同的笔触颜色?

假设我有一个具有某种笔触颜色的矩形。我可以定义某些边缘以具有不同的颜色吗?例如,假设我希望笔画的顶部和底部是一种颜色,但笔画的左右是不同的颜色?

如果这是不可能的,你知道一个好方法吗?

0 投票
3 回答
2059 浏览

java - Java:填充形状的线条描边

这不是很重要,但它困扰了我一段时间。

问题描述:
给定:一条线(Line2D)
想要:将线绘制为楔形(Filled GeneralPath)

当然,这可以通过将楔形创建为通用路径然后用图形填充它来完成(我的解决方案)。

我的第一种方法是楔形线条,因为出于某种原因我不想更改线条对象,而且我只想绘制线条对象而不再考虑它。创建楔形笔划没问题(一些计算,然后创建一般路径) -但我无法(轻松)填充它

显然,Graphics2D 的填充似乎只填充了它得到的形状 - 并且不处理笔划的填充(如果考虑一下,这种行为是有意义的)。

问题:有什么方法可以填充 Stroke 的形状(填充形状 - 更具体地说:GeneralPath - 在绘制之前以某种方式)?

0 投票
2 回答
10994 浏览

android - 画一条具有一定像素宽度的线

我想使用具有一定宽度(以像素为单位,或理想情况下为“dp”)的线条在画布上显示 X/Y 数据。我已经尝试过 Paint 的 setStrokeWidth(..) 方法,这确实改变了线宽,但这不是我需要的。在我的情况下,我使用 matrix.preScale(xScale, yScale) 将我的画布缩放到“真实工程单位”,因此 X 比例表示 0 到 100,Y 是 0 到 1。Paint 对象的 setStrokeWidth() 方法似乎设置笔画,使其遵循我的矩阵 preScale() 设置。换句话说,水平线画得很细,垂直线画得很粗。

有没有办法配置 Paint 以便无论线条绘制在哪个方向,它的宽度都是一致的像素数?

我曾尝试定义一个作为线条的 Drawable,并从中制作一个 ShapeDrawable,然后将其应用于 Paint,但在运行时遇到了一些令人讨厌的类转换错误。这让我觉得这是错误的做法。但也许我放弃得太早了。

我知道有许多可用的 Android 绘图/图表包,其中一些带有源代码,但我真的希望在这里了解平台,而不是使用第三方解决方案。

感谢您的任何提示!富有的

0 投票
2 回答
1555 浏览

wpf - Inkcanvas StrokeErasing 事件

我在我的解决方案中使用Inkcanvas。所以我想在用户确认后删除,像这样......

XAML:

C#:

之后,我可以看到消息框两次,:( 这不知道这是怎么发生的。请让我知道这一点。

0 投票
2 回答
4916 浏览

cocoa - NSBezierPath 圆角矩形有坏角

我有NSBezierPath一个圆角矩形,但它的角看起来不连贯,并且在全尺寸查看时看起来比笔画的其余部分更亮。我的代码是:

这是其中两个角的图片(在小图片中不那么明显):

角落

有谁知道这是什么原因造成的?我只是错过了什么吗?

谢谢你的帮助

0 投票
1 回答
2019 浏览

android - 动画视图的外部笔划(按钮)

我想根据计时器闪烁/闪烁按钮几次。例如,每 30 秒将笔划从白色闪烁到黑色或类似的东西 3 次。这可以做到吗?谢谢