如何在p5.js中裁剪图像而不在屏幕上绘制图像

时间:2018-11-11 00:35:02

标签: javascript image crop p5.js

我已经研究发现,您可以使用get()“裁剪”图像,但是必须在屏幕上绘制图像,然后才能在画布上截取一部分。是否可以加载图像,然后将其裁剪版本保存在变量中?所以也许是这样的:

var img;
var cropped;

function preload(){
  img = imageLoad('dog.png', crop)
}

function crop(image){
  cropped = crop(img, 0, 0, img.w/2, img.h) // Getting left half of image 
}

谢谢。


编辑: 这是我使用copy()进行的功能,但是我不知道是否缺少一种更简单的方法。

function crop(image, x, y, w, h) {
  var cropped = createImage(w, h);
  cropped.copy(image, x, y, x + w, y + h, 0, 0, x + w, y + h)
  return cropped;
}

1 个答案:

答案 0 :(得分:0)

您可以直接访问图像的像素。您不必先将其绘制到画布上。

首先阅读P5.Image参考。

从高层次上讲,您想要做的是创建一个新图形(createGraphics()函数是您的朋友,然后在该图形上绘制想要的图像部分。无论是绘制图像还是画布上的图形取决于您。