我想使用d3.js库在javascript中绘制函数图形,并需要添加缩放和平移事件。我已经按照以下示例完成了此操作:http://bl.ocks.org/mbostock/7ec977c95910dd026812。
我在这个平面上画了一些线。我的问题是,当我缩放时,线的宽度也会改变。我希望线在缩放时仍然保持原始宽度。我认为我需要重新绘制它,但我不确定这是否是最好的方法。你能告诉我有没有更好的方法来做到这一点,或者给我展示一个简单的例子吗?谢谢!
由于您没有提供任何代码,所以有点难以确定。根据您的描述,您正在渲染的网格线正在被缩放矩阵转换。
您可以独立于缩放绘制网格,但是您将不得不在缩放和网格变换之间切换,并且需要更多的代码,或者只需使用宽度设置为宽度乘以反比例尺度重新渲染网格线。例如,如果您的网格线为两个像素,则可以通过将其渲染宽度设置为2 *(1 / scale)
来保持它们的宽度,这与2 / scale
相同。比例尺度是缩放量。对于任何您希望保持固定渲染大小的对象也适用。
没有简单的方法可以避免重新渲染网格线。