I wrote a small Processing script that take a picture apply a kind of pointillize filter and save a PDF file. Here sample output I generated from some of my favorites pieces of art:

  • Wassily Kandinsky

Download 1600x1200 Wassily Kandinsky Revisited

  • Paul Klee

Download 1600x1200 Paul Klee Revisited

  • Bernard Buffet

Download 1600x1200 Bernard Buffet Revisited

  • Alfred Gockel

Download 1600x1200 Alfred Gockel Revisited

  • Joan Miro

Download 1600x1200 Joan Miro Revisited

The code:

PImage a;
import processing.pdf.*;
 
void setup()
{
  a = loadImage("INPUT.jpg");
  size(1600, 1200, PDF, "OUTPUT.pdf");
  background(255);
  noStroke();
  smooth();
  noLoop();
}
 
float drawOne(int x, int y, color pix, float size, int alpha)
{
  fill(pix, random(50)+alpha);
  size = random(size);
  ellipse(x, y, size, size);
  return size; 
}
 
void drawAll(int loops, float isize)
{
  float size;
  int x, y;
  color pix;
 
  for (int i = 0; i < loops; i++) {
     size = isize;
     x = int(random(a.width));
     y = int(random(a.height));
     pix = a.get(x, y);
     size = drawOne(x, y, pix, size, 100);
     size = drawOne(x, y, color(255, 255,255), size, 170);
     size = drawOne(x, y, pix, size, 100);
  }
}
 
void draw()
{ 
  int l = 10;
  for (int i = l; i > 0; i--){
    drawAll(200 * (l - i), 50*i);
  }
  exit();
}