Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将HTML5画布详细信息保存到MySql_Javascript_Html_Html5 Canvas - Fatal编程技术网

Javascript 将HTML5画布详细信息保存到MySql

Javascript 将HTML5画布详细信息保存到MySql,javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,我是HTML5新手,我只想知道如何保存画布数据(我在画布上画了一个正方形)。我想在数据库中保存x、y、h、w或比例,并使用这些数据重新创建图形。我该怎么做 多谢各位 为了访问服务器上的数据库,您需要一个服务器端应用程序,它从用户web浏览器接收数据,然后将数据发送到数据库 客户端和服务器之间的通信可以通过或实现 在服务器上运行的web应用程序可以用NodeJS、PHP、ASP.NET、JSP、Django、RubyonRails或任何其他服务器端web开发技术实现 或者,如果您不想进行服务器端编

我是HTML5新手,我只想知道如何保存画布数据(我在画布上画了一个正方形)。我想在数据库中保存x、y、h、w或比例,并使用这些数据重新创建图形。我该怎么做


多谢各位

为了访问服务器上的数据库,您需要一个服务器端应用程序,它从用户web浏览器接收数据,然后将数据发送到数据库

客户端和服务器之间的通信可以通过或实现

在服务器上运行的web应用程序可以用NodeJS、PHP、ASP.NET、JSP、Django、RubyonRails或任何其他服务器端web开发技术实现


或者,如果您不想进行服务器端编程,也可以将数据本地存储在用户中。

您可以将数据存储到mysql数据库或服务器文件中

对于mysql,创建一个名为entities的表,其中包含您想要的列,甚至是一列,并序列化您想要存储的数据

比如说

id | x | y | h | w | scale
1    4   4   4   4    0.5

然后序列化并创建PDO查询

$host =     "localhost";
$user =     "someuser";
$pass =     "somepass";
$database = "db_name";

$db = new PDO("mysql:host=$host;dbname=$database", $user, $pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")) or die("Connection error!");
$ser_obj = serialize($object_cube);
$query = "INSERT INTO entities ('cube') VALUES (:object)";
$params = array(':object' => $ser_obj );
db_query($query, $params);

function db_query($q,$p = array())
{
    global $db;

    if($stmt = $db->prepare($query))
    {

        if(count($p) > 0)
        {
            foreach ($p as $key => $value) {
                $stmt->bindParam($key,$value);
            }
        }

        $stmt->execute();

    }

}
这应该负责保存,然后由您通过挖掘数据库随时加载所需内容:)

您必须熟悉AJAX->
还有一些服务器端语言,如php或asp。否则,您可以将其存储在本地。

一种可能的解决方案是将所有对象数据存储在一个数组中,并在将其发送到服务器之前对其进行序列化:

GraphicObjects = new Array();
GraphicObjects.push({
    x: 10,
    y: 10,
    w: 100,
    h: 200,
    scale: 0.5
}); // Write a function for adding new objects, that's just an example
$.post('urlToPostTo', data: GraphicObjects.stringify());

稍后检索JSON数据以重新绘制图像。

如果只将图像存储在数据库中,您需要所有数据吗?还是足够了?而不是作为图像。要在从数据库重新加载后更改方形细节,这意味着您必须将数据存储在某种JS数据结构中,并将其推送到服务器。无法从已绘制的对象中检索数据。
GraphicObjects = new Array();
GraphicObjects.push({
    x: 10,
    y: 10,
    w: 100,
    h: 200,
    scale: 0.5
}); // Write a function for adding new objects, that's just an example
$.post('urlToPostTo', data: GraphicObjects.stringify());