Processing.js允许使用以下方法绘制图像:

image(x,y,width,height)


但是添加width和height参数只会将图像缩放到该大小。
我该如何裁剪图像,只在右边绘制第一个width像素,在底部绘制第一个height像素?

例如,只画X'ed部分:

---------------------------.
|XXXXXXXXXXXXX             |
|XXXXXXXXXXXXX             |
|XXXXXXXXXXXXX             |
|XXXXXXXXXXXXX             |
|                          |
|                          |
|                          |
---------------------------.

最佳答案

您可以使用copy function有效裁剪图像

这是一个例子:

PImage oImg;
void setup() {
   oImg = loadImage("postgres.jpeg");
   size(oImg.width, oImg.height);
}

void draw() {
   background(0);
   int iStart = new Float(oImg.width/2).intValue();
   int iWidth = oImg.width-iStart;
   copy(oImg, iStart,0,iWidth,oImg.height,0,0,iWidth,oImg.height);
}


这将加载图像,然后将其垂直裁剪到其大小的一半。

10-06 15:42