上下文
我正在使用纸JS建立一个多人绘图游戏。在任何给定的时间点,单个用户都将绘制到他/她的画布上,数据将被发送到服务器,并被广播给其他用户。每个用户的画布都可以是可变大小的,并且在保持相同的高宽比的同时,它会随着窗口的大小而调整大小。
目标是让每个用户都有一个绘图的缩放表示(也就是说,所有东西都适合不同大小的画布,内容不会被扭曲)。如果绘图从较大的画布转移到较小的画布,则应该是这样,反之亦然。该项目支持绘图工具和橡皮擦工具。
问题
下面的方法1按我想要的方式缩放图纸,但是有很大的滞后。方法2处理滞后问题,但不按我想要的方式缩放绘图。
我的理解是,无论SVG是放大还是缩小,SVG都能很好地扩展。但是光栅是基于像素的,当缩放时会变得“模糊”。当我测试方法2时,来自较小画布的绘图会在较大的画布上变得模糊。无论我使用export/importJSON还是export/importSVG,结果都是一样的。有什么方法可以同时获得良好的性能和缩放图吗?例如,请参阅下面工具的实现。
方法1:路径+符号:
方法2:光栅化:
发布于 2020-05-01 13:11:01
您可以将您的对象作为SVG发送,并在接收到它们后将其进行栅格化。
https://stackoverflow.com/questions/61534279
复制相似问题