For this project, we were asked to create a self-portrait using processing. I drew an image of myself using primitive shapes, which was difficult at first but it became fun as soon as I became more familiar with shape coordinates. I wanted to create something that’s simple yet also visually appealing. To add an extra element to my self-portrait, I created an array of three images for my background, where I had three different “shades” of one image so that the background changes every time you click the mouse. This is what it looks like:
And here’s my code:
//my self-portrait float PImage; PImage im ; PImage [] backgrounds = new PImage[3]; // background array of 3 images int currentBgNumber = 0; void setup() { size(852, 480); backgrounds = new PImage[3]; backgrounds[0] = loadImage("1.jpg"); backgrounds[1] = loadImage("2.jpg"); backgrounds[2] = loadImage("4.jpg"); } void draw() { background(backgrounds[currentBgNumber]); //hair stroke(0); fill(0); rect(100, 50, 400, 100); rect(100, 150, 400, 100); rect(100, 200, 400, 100); rect(100, 300, 400, 100); rect(100, 350, 400, 200); fill(247, 166, 79); //neck and body strokeWeight(4); stroke(15, 139, 141); fill(224,172,105); rect(235, 350, 75, 100); fill(224,172,105); rect(100, 405, 350, 375, 45); //shirt fill(250); rect (140, 405, 260, 200); strokeWeight(4); //line (140, 450, 397, 450); //line (140, 470, 397, 470); //line (140, 490, 397, 490); //ears fill(224,172,105); stroke(63, 124, 172); ellipse(100, 200, 60, 100); ellipse(440, 200, 60, 100); //earrings strokeWeight(1); fill(250); ellipse(90, 235, 5, 5); fill(220,220,220); rect(103, 236, 2, 30); ellipse(450, 235, 5, 5); rect(440, 236, 2, 30); strokeWeight(3); //head stroke( 166, 128, 140); ellipseMode(CENTER); fill(224,172,105); ellipse(270, 200, 300, 350); fill(0); strokeWeight(4); //bangs stroke(0); fill(0); ellipse(300, 35, 420, 100); rect(97, 25, 400, 100); ellipse(100, 100, 30, 150); //eyebrows stroke(97, 63, 117); rect(305, 160, 90, 10); rect(145, 160, 90, 10); //eyes stroke(250); strokeWeight(3); fill(250, 218, 221); fill(250); line(155,198, 225, 198); arc(190, 200, 70, 60, 0, PI); line(315,198, 385, 198); arc(350, 200, 70, 60, 0, PI); //pupils fill(84, 42, 14); arc(190, 202, 40, 50, 0, PI); arc(350, 202, 40, 50, 0, PI); //lines strokeWeight(0.5); stroke(84, 42, 14); line(180, 240, 190, 240); line(350, 240, 360, 240); //nose stroke(0); strokeWeight(2); line (275, 230, 260, 260); line (260, 260, 275, 260); //mouth ellipseMode(CENTER); strokeWeight(7); stroke(219,112,147); fill(250, 218, 221); arc(270, 305, 70, 60, 0, PI); } void mousePressed(){ currentBgNumber++; if (currentBgNumber>=3) currentBgNumber=0; }
Nice job Sara.