We’re calling the Twitter API from Yahoo! Query Language, receiving an image URL for your avatar, converting it to a data:uri, and returning its base64-encoded value as JSON with a callback.Then we create an image on the client, load it with the data YQL gave us, and stretch it to fit our (comparatively very large) canvas tag.Since we’ve created the image locally, the usual canvas security restrictions don’t apply and we’re free to sample pixels. We do this, collecting color values and positions, and then we start drawing circles with random sizes and tiny random offsets from where each color sample was taken.

I don’t know what ANY of that means but the end result is pretty cool.
Twitter Avatar Portraits .:. kentbrewster.com
(via)

We’re calling the Twitter API from Yahoo! Query Language, receiving an image URL for your avatar, converting it to a data:uri, and returning its base64-encoded value as JSON with a callback.

Then we create an image on the client, load it with the data YQL gave us, and stretch it to fit our (comparatively very large) canvas tag.

Since we’ve created the image locally, the usual canvas security restrictions don’t apply and we’re free to sample pixels. We do this, collecting color values and positions, and then we start drawing circles with random sizes and tiny random offsets from where each color sample was taken.

I don’t know what ANY of that means but the end result is pretty cool.

Twitter Avatar Portraits .:. kentbrewster.com

(via)