如何用Processing生成马赛克风格的图像?

Jim_Xiao 2020-04-01 02:20:17
原文地址:https://segmentfault.com/a/1190000021906612

首先使用PImage来实例化对象,再通过loadImage赋值,两层for循环遍历图片上的像素点,每隔5个像素点,画一个直径为3的圆。颜色通过pic.get(x,y)获取。

最后通过save函数来保存图片。

PImage pic;
int spacing=5;

void setup(){
 pic=loadImage("steve.jpeg");
 size(706, 644);
}

void draw(){
  for (int x=spacing; x<width; x+=spacing) {
    for (int y=spacing; y<height; y+=spacing) {
      color c=pic.get(x, y);
      fill(c);
      noStroke();
      ellipse(x, y, spacing*0.6, spacing*0.6);
    }
  }
   save("image_2.jpg");
}

![steve.jpeg](https://segmentfault.com/img/bVbD434 "steve.jpeg")
![image_1.jpg](https://segmentfault.com/img/bVbD435 "image_1.jpg")

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。