A quick and simple Processing script that takes an image and iterates over it while expanding each pixel of said image into an ellipse filled with the pixel's original color designation, creating an overlapped and distorted effect of ellipses. The size and opacity of each expanded pixel/ellipse can be controlled within the script, or left to randomness.
Processing source code:
PImage img;
img = loadImage("image.jpg");
size(img.width,img.height);
background(255);
smooth();
noStroke();
int xpos = 0;
int ypos = 0;
int y = 0;
int x = 0;
int num = 0;
// Controls
int distance = 40; // Adjust the distance betwen ellipses
int transparency = 60; // Adjust ellipse opacity
int ewidth = 40; // Adjust ellipse width
int eheight = 40; // Adjust ellipse height
/* Alternate set of controls for a random generator:
int distance = int(random(1,img.width));
int transparency = int(random(1,255));
int ewidth = int(random(1,img.width));
int eheight = int(random(1,img.height)); */
for(int i=0;i<width*height;i++) {
if(num <= distance) {
num++;
} else {
num = 0;
int here = img.pixels[i];
fill(red(here),green(here),blue(here),transparency);
ellipse(xpos,ypos,ewidth,eheight);
}
if(y >= width-1) {
y = 0;
xpos = 0;
ypos++;
} else {
y++;
xpos++;
}
}
//save("image.tif"); Uncomment to save





























