2012-10-13 2 views
3

나는 processingjs 문서에 나열된 다음 코드를 사용하여 이미지를 캔버스에로드합니다. JS 모드에서이 코드를 사용하기 때문에 ProcessingIs 코드에 Processing 개체 e.i를 접두어로 붙입니다. "처리." "catch되지 않은 구문 에러 : 예기치 않은 식별자"나는이 코드를 사용하는 경우Processingjs - JS 모드에서 사용할 때 PImage 오류 - JS 모드에서 이미지를로드하려고합니다.

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

, 나는 다음과 같은 오류 얻는 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에서 자바 스크립트 모드를 사용하면, 전자는 당신을 위해 수행되고 있습니다. processing.을 추가 할 필요가 없습니다.

접두사를 제거한 경우 (예 : 2 번째 예) 모든 것이 표준/java 모드에서 처리 중이거나 javascript/processing.js 모드에서 올바르게 작동해야합니다.

processing.js에서 사용할 수없는 유일한 것들은 자바 관련 호출 및 라이브러리입니다. 그러나 일반적으로 사용되는 processing.js를 사용하여 .pde 파일에서 자바 스크립트를 섞어서 사용할 수 있습니다. 예를 들어 자바 스크립트에서 "스케치"처리에 액세스하여 javascript/ajax/jquery/etc의 데이터를 전달할 수도 있습니다. 자세한 내용은 Pomax's Guide to Processing.js 또는 Processing.js website에서 확인할 수 있습니다.

+0

위에 나열된 속성 및 메서드 (PImage, loadImage() 등)에 액세스하려고합니다. 따라서 전역 개체를 접두사로 사용해야합니다 ("처리"). 이것은 JavaScript에서 객체의 표준 사용입니다. 다음은 JavaScript로 Processingjs 코드를 작성한 예입니다. [link] (http : // processingjs."JavaScript로 처리 코드 작성 중" 왜 오류가 발생하는지 잘 모르겠 음 : "잡히지 않은 구문 오류 : 예상치 못한 식별자" 특히 : "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

Pomax의 Processing Tutorials와 같은 Processingjs 웹 사이트의 자습서를 따르십시오. PImage를 다루는 방법을 찾을 수 있습니다. PImage는 실행 준비가되기 전에 몇 가지 요구 사항이 있으므로 기본적인 팁은 .pjs 문서 (은 반드시이어야 함)의 크기 (너비, 높이)보다 치수가 동일해야합니다. 어쩌면 processing.js와 브라우저가 크기가 이미지의 크기보다 큰 경우 pj 스케치를 시작할 수 있습니다.

<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. 나는 해결책을 가지고있다.

나는 당신의 모범을 읽고 있었고 그 모든 것은 괜찮 았어. 심지어 나는 당신의 코드를 시험해 보았습니다. 그리고 그것은 '데이터'라는 파일 안의 그림을 puted 할 때까지 작동하지 않았고, Magic은 작동합니다. 전반적으로이 파일은 '데이터'라고하며 또한 skech와 동일한 파일에 있어야합니다. 이 정보가 도움이되기를 바랍니다.

+0

안녕하세요 Dani. 나는 비슷한 문제가있다. 문제 해결 방법을 설명해주십시오. – lintu