Processingjs - 在JS模式下使用时出现PImage错误 - 尝试在JS模式下加载图像

时间:2012-10-13 18:56:39

标签: javascript processing processing.js

我正在使用processingjs文档中列出的以下代码将图像加载到画布上。因为我在JS模式下使用它,所以我在Processingjs代码前面加上Processing对象e.i. “处理。”

/* @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文件中,它运行正常。

3 个答案:

答案 0 :(得分:2)

我不理解使用processing.加前缀的目的。通常,直接处理样式代码通过.pde文件加载或嵌入在html页面中。当您在处理ide中使用javascript模式时,前者正在为您完成。无需添加processing.

如果您删除了前缀,例如在第二个示例中,一切都应该在处理的标准/ java模式或javascript / processing.js模式下正常工作。

您在processing.js中唯一不能使用的是java特定的调用和库。但是,您可以使用processing.js在.pde文件中混合和匹配javascript,这是常见的做法。您还可以从javascript访问处理“草图”,例如,从javascript / ajax / jquery / etc传递数据。您可以在Pomax's Guide to Processing.jsProcessing.js website上找到更多信息。

答案 1 :(得分:0)

关于Processingjs网站的教程,如Pomax的Processing Tutorials。你会发现如何处理PImage。 PImage在准备运行之前有一些要求()所以一个基本的提示是确保你的图像的尺寸等于.pjs doc的大小(宽度,高度)(必须< /强>)。如果大小大于你工作的图像大小,也许processing.js和浏览器将能够启动pjs sketch。

<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 =“”。您的图像目录可以位于其他位置。

答案 2 :(得分:0)

平。我有解决方案。

我正在阅读你的例子以及第二个的所有内容。即使我尝试了你的代码,它还没有工作,直到我把图片放在一个名为'data'的文件中,然后......魔术它的工作原理。总的来说,文件必须被称为“数据”,并且与skech在同一文件上。我希望这些信息可以帮助你