Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 扫描多维json_编码数组_Javascript_Php_Json_Canvas_Blobs - Fatal编程技术网

Javascript 扫描多维json_编码数组

Javascript 扫描多维json_编码数组,javascript,php,json,canvas,blobs,Javascript,Php,Json,Canvas,Blobs,请原谅格式化--在这个问题中,它一直给我“您的代码未格式化”错误。我有一个代码,其中包括一个画布,打印图像。然后我跟踪用户的鼠标坐标,如果它们与文本文件中的坐标匹配,我想提示用户。这是一个Web应用程序,用来补充C++ OpenCV程序,它可以检测斑点和它们存在的坐标。文本文件的格式如下:label x y 001 101 305 是blob 001中坐标(101305)的直线。PHP正在读取每一行并在空格处爆炸 文本文件如下所示: 001 101 303 001 101 304 001 1

请原谅格式化--在这个问题中,它一直给我“您的代码未格式化”错误。我有一个代码,其中包括一个画布,打印图像。然后我跟踪用户的鼠标坐标,如果它们与文本文件中的坐标匹配,我想提示用户。这是一个Web应用程序,用来补充C++ OpenCV程序,它可以检测斑点和它们存在的坐标。文本文件的格式如下:
label x y

001 101 305 
是blob 001中坐标(101305)的直线。PHP正在读取每一行并在空格处爆炸

文本文件如下所示:

001 101 303
001 101 304
001 101 305
001 101 306
001 101 307
001 101 308
001 101 309
001 101 310
001 102 301
001 102 302
//制作画布和放置PNG覆盖图像的函数
var js_array=//将PHP数组转换为javascript对象表示法格式
//需要PHP5.2或更高版本,我相信它在服务器上。它当然在我的本地主机服务器上。
console.log(js_数组);//发展
$(文档).ready(函数(){
window.onload=函数(){
var c=document.getElementById(“solarCanvas”);
var ctx=c.getContext(“2d”);
ctx.fillStyle=“#00FFFF”//青色填充
var img=document.getElementById(“testimage”);
img.src='cpp/images/PNG/imagetesting.PNG';/“cpp/images/”+date+“.PNG”;
ctx.drawImage(img,0,0);
c、 addEventListener('click',function(){},false);
//鼠标移动/clicl时的颜色和坐标功能
$('solarCanvas').mousemove(函数(e){
var c=document.getElementById(“solarCanvas”);
var ctx=c.getContext(“2d”);//临时声明错误修复--找不到根本原因,所以redec
var pos=findPos(本);
var x=e.pageX-位置x;
变量y=e.pageY-位置y;
var coord=“x=”+x+”,y=“+y;
var p=ctx.getImageData(x,y,1,1).data;
var hex=(“#”+000000+rgbToHex(p[0],p[1],p[2])。切片(-6));
$('#status').html(坐标+“
”+hex); 控制台日志(x+”,“+y+”--“+coord+”位于“+hex”); }); $(“#solarCanvas”)。单击(函数(e){ var c=document.getElementById(“solarCanvas”); var ctx=c.getContext(“2d”); var pos=findPos(本); var xNum=e.pageX-pos.x; var yNum=e.pageY-pos.y; var xStr=xNum.toString(); var yStr=yNum.toString(); 对于(var i=0;i-1){ 警报(“雅虎!”); } } } log(js_数组); console.log(xStr); 控制台日志(yStr); }); } }); //旧建筑 //混合数组_搜索(混合$pinder,数组$haystack[,bool$strict=false]); //大海捞针 //伪码 //如果((e.pageX-pos.x)在第2列中存在&((e.pageY-pos.y)在第3列的同一行中){
我已经阅读了这个代码的许多版本,并且正在发布我现在所拥有的。我现在正在严格地使用X坐标。一旦它起作用,我将添加Y。 [...] 我已经考虑到PHP explode&json_encode正在保存字符串的事实,所以我做了一个.toString()函数,但这似乎没有任何帮助。例如,我的控制台日志类似于x/y/pos of x in array/pos of y in array

101
305
-1
-1

下面是对代码的轻微重写

我所做的:

  • 为了简单起见,使用迭代器模型将CSV解析更改为分成3列的行
  • 将JS更改为将x坐标与第[1]行匹配,将y坐标与第[2]行匹配
  • 不确定其他代码在成功时打算做什么…看起来您仍在努力
  • PHP代码:

    <?php 
        $file = file("cpp/textdump/coordinates/imagetesting.txt.txt"");
        $coordinates = array();
        for ($line in $file) {
            array_push($coordinates, explode(" ", $line);
        }
    ?>
    var coords = <?= json_encode($coordinates) ?>;
    

    这里是对您的代码的轻微重写

    我所做的:

  • 为了简单起见,使用迭代器模型将CSV解析更改为分成3列的行
  • 将JS更改为将x坐标与第[1]行匹配,将y坐标与第[2]行匹配
  • 不确定其他代码在成功时打算做什么…看起来您仍在努力
  • PHP代码:

    <?php 
        $file = file("cpp/textdump/coordinates/imagetesting.txt.txt"");
        $coordinates = array();
        for ($line in $file) {
            array_push($coordinates, explode(" ", $line);
        }
    ?>
    var coords = <?= json_encode($coordinates) ?>;
    

    您有问题吗?您希望发生什么,以及实际发生了什么?我希望它返回一个数组值,例如4,因为我的数组有“101”在块4中,实际发生的是,无论我输入什么,我都得到-1。这有很多错误。首先,你将矩阵完全展平到你的
    $coordinates
    数组中。相反,你应该只
    array\u push($coordinates,explode(“,$uncatXY))
    所以你在JS中保留了维度。这将我的数组分成了100行3列。这当然更干净了,也是我的初衷。我现在将继续并尝试再次解决我的问题。@mjxxunm-你不应该在你的问题中添加人们的建议-这只会稀释其他人找到问题的答案稍后。您有问题吗?您希望发生什么,以及实际发生了什么?我希望它返回一个数组值,例如4,因为我的数组有“101”在块4中,实际发生的是,无论我输入什么,我都得到-1。这有很多错误。首先,你将矩阵完全展平到你的
    $coordinates
    数组中。相反,你应该只
    array\u push($coordinates,explode(“,$uncatXY))
    所以您在JS中维护了维度。它将我的数组拆分为100行3列。这是certa