我正在对不同的视频和图像进行一些“统计”分析。每帧都像直方图一样。在每个帧中,我采用16种预定义的颜色并对它们进行评级。

我正在将“线”(从上到下)绘制到“画布”中,其中“每条线”都可以由强度不同的16种颜色组成。对于每个框架,画布中都有一个新行。

我的问题:

1.)如何绘制不同颜色的线?到目前为止,我只是想用指定的颜色绘制线的一部分,然后(如果需要)从该线的最后一点再次绘制具有新颜色的新子线。因此,在最坏的情况下,我会为一条线路执行16次操作。我怎样才能更轻松地做到这一点?

2.)如何对这些颜色应用某种“强度”(较亮/较暗)?

3.)由于我可能必须为一个视频绘制100.000+行,我该怎么办才能加快绘制时间并节省内存? (嗯,至少我想那会花费一些时间,到目前为止我还没有代码,只能假设...)。将其保存在某个位置以及何时需要将其弹出到“画布”中,这是一种“预先计算”每行的好方法吗?

最佳答案

使用以context.beginPath开头的路径命令绘制HTML5线。您可以使用一组线路径命令绘制多个线段,但是每个线组只能具有一种样式(==一种颜色)。您的解决方法(如您所怀疑)将为每个所需的彩色线段发出单独的beginPath命令。
Html5颜色默认为RGBA颜色格式,但是您也可以使用HSLA颜色格式。这样,您可以更改“ L”值以使色调变亮或变暗。 (色调“ H”基本上是您的颜色)。
优化线条图非常取决于您自己的应用程序中的条件。如果线条需要大量处理以确定它们的位置,颜色或其他样式,则可以(也可以不)通过预先计算这些线条值来获得性能。总而言之,画布可以非常非常快速地绘制路径命令(线条),因此我当然会首先测试“实时”绘制线条,以查看画布是否可以跟上。


祝您的项目好运!

关于javascript - 如何创建不同颜色的线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31861999/

10-12 00:10
查看更多