我正在对不同的视频和图像进行一些“统计”分析。每个帧都有直方图。在每个帧中,我采用16种预定义的颜色并对它们进行评级。
我正在绘制线条(上至下)进入画布,其中每条线条可以由不同强度的16种颜色组成。对于每个Frame,画布中都有一个新的行。
我的问题:
1.。)如何绘制不同颜色的线条?到目前为止,我只是想到我用指定的颜色绘制一部分线,然后(如果需要)从该线的最后一点再次绘制一个带有新颜色的新子线。所以,在最坏的情况下,我为一条线做了16次。我怎样才能更轻松地做到这一点?
2.。)如何对这些颜色应用某种“强度”(更亮/更暗)?
3。)由于我可能需要为一个视频绘制100.000+行,我该怎么做才能加快绘制时间并节省内存? (好吧,至少我猜这需要一些时间,到目前为止我没有代码,只能假设......)。这是一个很好的方法来“预先计算”每一行的保存,在某个地方以及何时需要将其弹出到画布中?
答案 0 :(得分:1)
使用以context.beginPath
开头的路径命令绘制Html5线。您可以使用一组线路径命令绘制多个线段,但每个单个组只能有一个样式(==一种颜色)。您的解决方法(如您所怀疑的那样)将为每个所需的彩色线段发出单独的beginPath
命令。
Html5颜色默认为RGBA颜色格式,但您也可以使用HSLA颜色格式。这样你就可以改变你的" L"使你的色调变亮或变暗的价值。 (色调," H",基本上就是你的颜色)。
优化线条图非常依赖于您自己的应用中的条件。如果线条需要大量处理来确定其位置,颜色或其他样式,那么您可能(或可能不)通过预先计算这些线值来获得性能。总的来说,画布非常非常快速地绘制路径命令(行),所以我一定会从测试绘制你的线条开始#34;生活"看看画布是否可以跟上。
祝你的项目好运!