2016-09-11 5 views
1

anzeigt Hi ich versuche, Bild in processing.js Skizze anzuzeigen, die jquery ajax Anfrage und php Code aber es verwendet, zeigt nicht Bild, dass ich der Skizze hier sende, ist mein JS Code:wie man Bild in processing.js von PHP mit Jquery

<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> 

Das ist mein Verarbeitungscode lautet:

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); 

} 

Und meine PHP-Code:

<?php 

if ($_POST) { 
    $temp = $_POST['val']; 
    if ($temp == 5) { 
     $img = "images.jpg"; 
     echo $img; 
    } 
} 
?> 

, wenn ich Code laufen lasse und das Ergebnis in der Skizze drucke, bekomme ich das Ergebnis von "images.jpg", aber nichts wird in der Leinwand gezeigt jemand weiß, was zu tun ist ??

Antwort

1

Beachten Sie, dass die Funktion setup() nur einmal am Anfang der Skizze aufgerufen wird.

Ihre pic Variable beginnt ohne Wert, und das übergeben Sie an die loadImage() Funktion. Sie speichern den zurückgegebenen Wert (der wahrscheinlich ein fehlerhaftes Bild ist) in Ihre img Variable.

Dann in der change() Funktion aktualisieren Sie die pic Variable, aber Sie aktualisieren nicht Ihre img Variable. Nur weil Sie die pic Variable ändern, bedeutet das nicht, dass das Bild magisch für Sie neu geladen wird. Sie müssen das selbst tun.

Es könnte wie folgt aussehen:

void change(String val){ 
    pic = val; 
    img = loadImage(pic); 
} 

In der Tat werden Sie wahrscheinlich vollständig loszuwerden der pic Variable werden könnten.

Beachten Sie, dass hierzu auch eine Bilddatei benötigt wird, die sich im angegebenen Pfad befindet.

+0

Yeah, danke ich reed Dokumentation heute wieder und ich sah es, ich tat gerade, was Sie sushing und es jetzt laufen. Ich bin noch kein Programmierer, aber ich versuche, eines Tages zu werden und sorry für die stuped qestions, aber manchmal etwas wie 'Setup() 'Laden beim Start machen mich den ganzen Tag wandern, warum der Hölle Code nicht runnig. Danke noch einmal! –

+0

@MimiChan Kein Problem. Deine Fragen sind nicht dumm und es fühlt sich an, als fühlst du genau, wie jeder Programmierer sich fühlt! –