我正在开发一个点对点的协作绘图应用程序在安卓上使用alljoyn framework喜欢chalkboard。
我能够实现同龄人之间的协作聊天。现在,我想实现画布共享,在单个画布中,每个人都可以实时绘制。
我如何从画布开始,它的数据结构是什么,有没有我需要处理的特定图像对象,我是否需要使用json,我是否必须将像素值存储在2D数组中。
我只需要一个白色背景和黑色作为绘图部分的黑白屏幕。
我只想知道它背后的方法。任何参考资料都会很有帮助。
谢谢..。
发布于 2014-04-06 00:18:01
画布实际上是一个位图。
您可以使用绘图命令在位图上添加/更改像素。
要进行协作绘图,您不会在每次更改时在所有用户之间共享像素值。
这将在序列化、传输和反序列化方面造成瓶颈。这将是太慢的工作。
而是在所有用户之间共享每个更改的最新绘图命令。
如果user#1绘制了一条从20,20到100,100线,只需序列化绘制线的命令并将其与所有用户共享即可。
序列化可能看起来像这样:"L 20,20 100,100“。
如果您想要一个高效的序列化结构,请看一下SVG处理路径数据的方式--这对于向许多用户传输数据非常有效。
所有其他用户将监听传入的命令。在接收时,它们将反序列化用户#1的行,并将其自动绘制在自己的画布上。
https://stackoverflow.com/questions/22879522
复制相似问题