php 什么是一个方便的保存画布上的MySQL数据库

fzwojiic  于 2022-12-09  发布在  PHP
关注(0)|答案(1)|浏览(122)

我有一个棋盘游戏应用程序,我想扩展该应用程序,使用户能够通过画布在游戏区域上绘图,并保存游戏状态,包括MySQL数据库中画布绘图,现在我正在寻找如何将画布上的绘图保存到数据库中的方法,我想我可以通过getImageData函数提取ImageData对象().现在Object包含了一个大数组,它最终代表了画布图像的像素。我可以将数组中包含的数据转换为文本,以便能够将其保存在数据库中。当我以后想要访问画布绘图时,我可以从数据库中调用表示像素数组的文本,并在客户端再次将其转换为数组,以便能够再次构建ImageData对象并将其到画布上。
现在,事实证明,表示数组的文本可能有5兆字节的大小!我可能想从服务器调用用户的屏幕截图,所以5兆字节的文件。

***我的问题是:***有没有更有效的方法将画布保存在服务器上?所描述的方法是好的还是有效的,是否可以用更好的方法?

zf9nrax1

zf9nrax11#

您通常不会在数据库中存储5 MB的图像,而是将图像作为文件存储在服务器上,并在数据库中放置一个引用该文件的条目。
当存储图像数据时,你可以使用压缩。例如ZIP,但是像JPEG这样的图像格式有内置的压缩。
不过,最好的方法不是存储图像,而是记住游戏的状态和用户的输入。这需要的存储空间要少得多。您可以使用这些数据重新构建画布。

相关问题