画布,负坐标:绘制从画布开始并继续下去的路径是不是不好?
Posted
技术标签:
【中文标题】画布,负坐标:绘制从画布开始并继续下去的路径是不是不好?【英文标题】:Canvas, negative coordinates: Is it bad to draw paths that start off canvas, and continue on?画布,负坐标:绘制从画布开始并继续下去的路径是否不好? 【发布时间】:2012-11-04 18:43:02 【问题描述】:我只想显示在画布上绘制的形状的一部分。 我的线基本上是这样的,而且效果很好:
ctx.fillRect( xPosition, rectHeight - offsetV , rectWidth, rectHeight);
那里的第二个变量将是负数。所以,我的问题是:绘制一条从画布开始(带有负坐标)然后继续在画布上绘制的路径是不好的做法(或者我是否会让自己在路上出错)。
【问题讨论】:
不,不是这样,只要你没有在屏幕外画出太多的东西,这将是资源的重大浪费。 如果您想知道,大多数实现 (?all?) 会在绘制矩形之前对其进行剪辑,因此成本只是这个剪辑成本 - 没有一个像素被绘制在画布之外 -。跨度> 【参考方案1】:完全没有问题。如果您有大量的绘图对象,您可以(如 GameAlchemist 所说)阻止绘制该对象。如果您使用像地图这样的画布进行探索(缩小/缩小 ctx,翻译整个上下文),阻止绘图可能会花费更多的剪辑成本。而且很复杂……
我的画布对象有些过期了。如果您将计算和其他(无绘图)员工介绍绘制功能,您可能会遇到问题。
重要:
-使画布绘制功能代码清晰(仅绘制画布代码)。
-如果您的应用程序不需要 const 更新,则仅在需要时进行更新调用。
-仅在(0,0,canvas.w,canvas.h)中清除画布
-仅在需要时使用样式(笔触、填充、字体等)
【讨论】:
以上是关于画布,负坐标:绘制从画布开始并继续下去的路径是不是不好?的主要内容,如果未能解决你的问题,请参考以下文章