【问题标题】:JavaFx 2.x : How to draw a dashed line effect on a pathJavaFx 2.x:如何在路径上绘制虚线效果
【发布时间】:2014-11-08 02:36:25
【问题描述】:

我正在使用能够绘制一系列贝塞尔曲线的路径。

但是,我需要将填充设置为虚线效果,而不是实心填充。

我看过这篇文章:JavaFx 2.x : How to draw dashed or dotted lines?,但它涉及将形状对象放到舞台上,而我是直接绘制到 GraphicsContext 以创建 jpg 图像。

这样可以吗?


编辑: 这就是我目前画线的方式:

// cv is a Canvas object, previously created and initialised earlier
cv.beginPath();
cv.moveTo(x, y);
cv.cubicTo(x1, y1, x2, y2, x3, y3);

// Either finish with this
cv.closePath();
cv.fill();

// or this
cv.setLineWidth(0.5);
cv.stroke();

【问题讨论】:

  • 在添加实心填充路径的位置显示当前代码。
  • @UlukBiy - 刚刚按要求添加了代码。

标签: java javafx


【解决方案1】:

根据RT-37999,它是在Java 8u40 中实现(固定)的,可下载以供早期访问。预计 GA 发布日期为 2015 年 3 月。

在此之前,您需要自己实施解决方法,例如 JavaFX Canvas: Drawing dashed lines

或者,阅读RT-37999的实现代码,如果不是太复杂,通过扩展相关的api类将其集成到您的项目中。

【讨论】:

  • 我看过你提到的文章,但它只在直线上实现破折号。这不适用于弯曲的贝塞尔路径。我必须创建一个帐户才能查看您在此处记录的实现,看看它是否可行。
  • 我查看了新的虚线笔画代码,发现它不仅添加了新的 java 类,而且还有一个新的 C 代码模块来执行实际的虚线。这意味着,至少对我自己而言,尝试预先实现它是一个不可行的选择。还有其他我可以使用的 java 基础解决方案吗?
猜你喜欢
  • 1970-01-01
  • 2019-12-31
  • 2014-10-09
  • 1970-01-01
  • 2012-04-28
  • 2021-09-14
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
相关资源
最近更新 更多