如何在 processing.js 中显示来自 PHP 和 Jquery 的图像
how to display image in processing.js from PHP with Jquery
嗨,我正在尝试使用 jquery ajax 请求和 php 代码在 processing.js sketch 中显示图像,但它没有显示我发送到 sketch 的图像这是我的 JS 代码:
<script type="text/javascript">
function send() {
//var s;
function setPath(imgPath) {
var s = imgPath;
var processingInstance;
processingInstance = Processing.getInstanceById('canvas');
processingInstance.change(s);
}
var variable = 5;
$.ajax({
method: "POST",
tupe: "POST",
url: "take.php",
data: ({val: variable}),
success: function (data) {
setPath(data);
},
});
}
</script>
这是我的处理代码:
String pic;
PImage img;
void setup(){
size(200,200);
background(150);
img = loadImage(pic);
}
void draw(){
image(img,50,50,width/2,height/2);
}
void change(String val){
pic = val;
println(pic);
}
还有我的 PHP 代码:
<?php
if ($_POST) {
$temp = $_POST['val'];
if ($temp == 5) {
$img = "images.jpg";
echo $img;
}
}
?>
当我 运行 编码并在草图中打印结果时,我得到了 "images.jpg" 的结果,但是 canvas 中没有任何显示有人知道该怎么做吗?
请记住,setup()
函数仅在草图开始时调用一次。
您的 pic
变量开始时没有任何值,这就是您传递给 loadImage()
函数的内容。您将返回的值(可能是损坏的图像)存储到您的 img
变量中。
然后在 change()
函数中,更新 pic
变量,但不更新 img
变量。仅仅因为您更改了 pic
变量并不意味着图像会神奇地为您重新加载。你必须自己专门做。
它可能看起来像这样:
void change(String val){
pic = val;
img = loadImage(pic);
}
事实上,您可以完全摆脱 pic
变量。
请注意,这还需要位于指定路径的图像文件。
嗨,我正在尝试使用 jquery ajax 请求和 php 代码在 processing.js sketch 中显示图像,但它没有显示我发送到 sketch 的图像这是我的 JS 代码:
<script type="text/javascript">
function send() {
//var s;
function setPath(imgPath) {
var s = imgPath;
var processingInstance;
processingInstance = Processing.getInstanceById('canvas');
processingInstance.change(s);
}
var variable = 5;
$.ajax({
method: "POST",
tupe: "POST",
url: "take.php",
data: ({val: variable}),
success: function (data) {
setPath(data);
},
});
}
</script>
这是我的处理代码:
String pic;
PImage img;
void setup(){
size(200,200);
background(150);
img = loadImage(pic);
}
void draw(){
image(img,50,50,width/2,height/2);
}
void change(String val){
pic = val;
println(pic);
}
还有我的 PHP 代码:
<?php
if ($_POST) {
$temp = $_POST['val'];
if ($temp == 5) {
$img = "images.jpg";
echo $img;
}
}
?>
当我 运行 编码并在草图中打印结果时,我得到了 "images.jpg" 的结果,但是 canvas 中没有任何显示有人知道该怎么做吗?
请记住,setup()
函数仅在草图开始时调用一次。
您的 pic
变量开始时没有任何值,这就是您传递给 loadImage()
函数的内容。您将返回的值(可能是损坏的图像)存储到您的 img
变量中。
然后在 change()
函数中,更新 pic
变量,但不更新 img
变量。仅仅因为您更改了 pic
变量并不意味着图像会神奇地为您重新加载。你必须自己专门做。
它可能看起来像这样:
void change(String val){
pic = val;
img = loadImage(pic);
}
事实上,您可以完全摆脱 pic
变量。
请注意,这还需要位于指定路径的图像文件。