如何在 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;
}
凯文·沃克曼

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

首先通读P5.Image参考。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章