0

下面是一些在 Java 和 Android 模式下运行良好但在 JavaScript 模式下无法运行的代码。它使用 PImage.get 提取包含原始图像子区域的新 PImage。我可以在 Java 和 Android 模式下绘制原始图像和任何子图像,但在 JavaScript 模式下绘制子图像失败。这是该问题的一个非常基本的演示。替换您自己的图像文件或从http://readyposition.com/subImageTest.zip下载草图的 zip 。

// Declare 2 images
PImage fullImage, subImage;

void setup() {
  size(640, 480);

  // Load an image from a file
  fullImage = loadImage("smurf_sprite.png");

  // Load the upper left quarter of the original image into a new image
  subImage = fullImage.get(0, 0, fullImage.width / 4, fullImage.height / 4);
}

void draw() {
  background(0);
  imageMode(CENTER);

  // Draw the full image in the background
  image(fullImage, width / 2, height / 2);

  // Draw the sub image where the mouse is
  image(subImage, mouseX, mouseY);
}

我尽量保持简单。如果您知道如何使其适用于 JavaScript 模式,请告诉我。

谢谢,

〜查克

4

1 回答 1

2

我应该意识到 ProcessingJS.org 在他们的参考文献中的内容与 Processing.org 不同。如果您查看http://processingjs.org/reference/loadImage_/您会发现您需要包含如下指令:

/* @pjs preload="yourimagename.jog, yourimagename2.png";  */

以便预加载图像。就我而言,我相信我在加载像素之前复制了图像子区域。

于 2013-06-20T18:16:51.063 回答