Instructions:
- Mouse Drag
- Spacebar clears the screen.
- s to save an image (use open link to activate)
Silly code due to this tweet existing.
Image template taken from here.
| license: mit | |
| height: 960 |
Instructions:
Silly code due to this tweet existing.
Image template taken from here.
| const bgcolor = "#e0d1bc"; | |
| let bgImage = null; | |
| let lastX = null, lastY = null; | |
| function preload() { | |
| bgImage = loadImage('hips.png'); | |
| } | |
| function setup() { | |
| let canvas = createCanvas(960, 960); | |
| canvas.parent('canvasContainer'); | |
| frameRate(60); | |
| do_clear(); | |
| } | |
| function do_clear() { | |
| background(bgcolor); | |
| image(bgImage, 0, 0); | |
| } | |
| function mousePressed() { | |
| lastX = mouseX; | |
| lastY = mouseY; | |
| return false; | |
| } | |
| function draw() { | |
| if (mouseIsPressed) { | |
| let radius = 4 * (Math.abs(lastX - mouseX) + Math.abs(lastY - mouseY)); | |
| ellipse(mouseX, mouseY, radius); | |
| ellipse((width-mouseX), mouseY, radius); | |
| lastX = mouseX; | |
| lastY = mouseY; | |
| } | |
| } | |
| function keyTyped() { | |
| if (key == ' ') { | |
| do_clear(); | |
| return false; | |
| } | |
| if (key == 's') { | |
| saveImage(); | |
| return false; | |
| } | |
| } |
| <head> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script> | |
| <script language="javascript" type="text/javascript" src="z_purview_helper.js"></script> | |
| <script language="javascript" type="text/javascript" src="dress.js"></script> | |
| </head> | |
| <body style="background-color:white"> | |
| <div id="canvasContainer"></div><p> | |
| <pre> | |
| Instructions: | |
| * Mouse Drag | |
| * Spacebar clears the screen. | |
| * s to save an image (use open link to activate) | |
| </pre> | |
| </body> |
| // note: this file is poorly named - it can generally be ignored. | |
| // helper functions below for supporting blocks/purview | |
| function saveImage() { | |
| // generate 960x500 preview.jpg of entire canvas | |
| // TODO: should this be recycled? | |
| var offscreenCanvas = document.createElement('canvas'); | |
| offscreenCanvas.width = 960; | |
| offscreenCanvas.height = 960; | |
| var context = offscreenCanvas.getContext('2d'); | |
| // background is flat white | |
| context.fillStyle="#FFFFFF"; | |
| context.fillRect(0, 0, 960, 960); | |
| context.drawImage(this.canvas, 0, 0, 960, 960); | |
| // save to browser | |
| var downloadMime = 'image/octet-stream'; | |
| var imageData = offscreenCanvas.toDataURL('image/jpeg'); | |
| imageData = imageData.replace('image/jpeg', downloadMime); | |
| p5.prototype.downloadFile(imageData, 'dress.jpg', 'jpg'); | |
| } |