Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 RaphaelJS 库,我注意到它非常面向像素。我想画一些随视口缩放的东西。是否可以重新定义画布坐标系以从 0 运行到 1,所以如果我画一个以 [0.5, 0.5] 为中心的圆,即使容器的大小发生变化,它也会保持在其容器的中间?
这可能更像是一个 SVG/VML 问题,因为即使 Raphael 无法做到这一点,我也可以直接访问底层的 svg 元素。
我不知道这是否是最好的答案,但我找到了一种方法来获得我正在寻找的一些东西。如果您忽略宽度/高度参数,或使用“100%”,则可以使用 setViewBox 命令设置您自己的坐标系。
var canvas = Raphael("container"); canvas.setViewBox(0, 0, 1, 1, true);
当然,问题在于这会缩放所有内容,包括笔触、背景等。这使得很难拥有像笔触宽度这样的东西,而不是 1px。