2012-10-13 27 views
3

我正在使用processjs文檔中列出的以下代碼將圖像加載到畫布上。因爲我在JS模式下使用它,所以我在Processingjs代碼前加上Processing對象,e.i. 「處理」。Processingjs - 在JS模式下使用時出現PImage錯誤 - 試圖在JS模式下加載圖像

/* @pjs preload="laDefense.jpg"; */ 
processing.PImage b; 
b = processing.loadImage("laDefense.jpg"); 
processing.image(b, 0, 0); 

當我使用此代碼,我得到以下錯誤: 「未捕獲的SyntaxError:意外標識符」

的Processingjs文檔引用下面的代碼片斷爲的LoadImage()(http://processingjs.org/reference/loadImage_ /):

// @pjs preload must be used to preload the image 
/* @pjs preload="laDefense.jpg"; */ 
PImage b; 
b = loadImage("laDefense.jpg"); 
image(b, 0, 0); 

有沒有人知道爲什麼我會得到這個錯誤?

我試着在標準模式下使用第二個列出的代碼片段 - 在.pde文件中,它工作正常。

回答

2

我不理解用processing.加前綴的目的。通常,直接處理樣式代碼通過.pde文件加載或嵌入在html頁面中。當您在處理ide中使用javascript模式時,前者正在爲您完成。沒有必要添加processing.

如果您刪除了前綴(例如在第二個示例中),那麼在處理中的標準/ java模式或javascript/processing.js模式下,所有內容都應該可以正常工作。

在processing.js中唯一不能使用的是java特定的調用和庫。但是,您可以使用processing.js在您的.pde文件中混合和匹配javascript,這是常見的做法。您還可以從javascript訪問處理「草圖」,例如,從javascript/ajax/jquery /等傳遞數據。你可以在Pomax's Guide to Processing.jsProcessing.js website找到更多的信息。

+0

我想要訪問上面列出的屬性和方法(PImage,loadImage()等)。因此,我需要在全局對象前加上前綴(「處理」)。這是JavaScript中對象的標準使用。這裏有一個在JavaScript中編寫Processingjs代碼的例子:[link](http:// processingjs。org/learning /)在「使用JavaScript編寫處理代碼」 仍然不確定爲什麼我收到錯誤: 「Uncaught SyntaxError:意外標識符」 具體上:「PImage b;」 – user1646145

+0

@ user1646145我還沒有見過以這種方式使用的processing.js,但是如果您在[鏈接到的頁面](http://processingjs.org/learning/)上檢查了示例(查看3d示例),你必須在你的'loadImage(「laDefense.jpg」)之前調用'processing.imageCache.add(「laDefense.jpg」);''這會替換評論風格預加載器,即。 '/ * @pjs preload =「laDefense.jpg」; * /' – JAMESSTONEco

0

以下關於Processingjs網站的教程,如Pomax的處理教程。你會發現如何處理PImage。 PImage在準備運行()之前有一些要求,所以基本技巧是確保您的圖像的尺寸與您的.pjs文檔的尺寸(寬度,高度)相等(必須爲)。也許processing.js和瀏覽器將能夠啓動pjs草圖,如果大小大於圖像的大小,我們正在處理。

<h>Pjs is just fine</h> 
<pre class="code"><code class="Javascript code"> 
    /* @pjs preload="image.jpg"; */ 
    size(400,500); //must be the same as the image you are using 
    PImage b; 
    b = loadImage("image.jpg"); 
    background(b); 
    int x,y; 
    void setup(){} 
    void draw(){} 
</code></pre> 
<canvas datasrc="sketch.pjs"></canvas> 

另一個提示,使用datasrc =「」。你的圖片目錄可以在別的地方。

0

Hei。我有解決方案。

我正在讀你的例子和第二個的一切都好。即使我嘗試了你的代碼,它沒有工作,直到我把圖片稱爲'數據'文件,然後...魔術它的作品。總的來說,這個文件必須被稱爲「數據」,並且與文件夾相同。我希望這些信息可以幫助你...

+0

嗨Dani。我有一個類似的問題。你能解釋一下你解決了什麼問題嗎? – lintu

相關問題