Mike Chambers

code = joy

Archive for the ‘html5’ tag

Simple HTTP Server for local testing

with one comment

I am currently playing around with the HTML5 FileSystem API, and have a need to test my files served via a web server. I could setup a virtual director for my local apache server, but given the number of simple tests and experiments I do, I wanted something easier that required little to no configuration and setup.

So, I put together a super simple script that uses python’s SimpleHTTPServer class.
Read the rest of this entry »

Written by mikechambers

April 8th, 2012 at 4:37 pm

Posted in General

Tagged with , , ,

Timing issues when animating with CSS3 Transitions

with 8 comments

I have been playing around a lot lately with motion graphics created using HTML5 and / or CSS3. One of my favorite new features is CSS Transitions, which makes it super simple to animate element properties between two states.

However, I ran into a gotcha the other day, and wanted to make a quick blog post in case anyone else runs into it in the future. Basically, if you change a property that a CSS Transition is monitoring in the same script loop that you add the element to the DOM, the CSS Transition will not take affect. Instead, the element will be drawn with the new properties, and will not animate to those properties.

Here is an example that shows the issue, as well as how to fix it.
Read the rest of this entry »

Written by mikechambers

July 20th, 2011 at 12:54 pm

Posted in General

Tagged with , , , ,

JavaScript Voronoi port

with 3 comments

I have always been amazed by some of the digital art work that Mario Klingemann (aka @Quasimondo has created using with Voronois. After doing some searching, I found an early ActionScript 1 Voronoi implementation that Mario did, and I ported it to JavaScript.

I wanted to share the results:
Read the rest of this entry »

Written by mikechambers

March 24th, 2011 at 12:19 pm

Posted in General

Tagged with , , , , ,

Example : Creating spiral designs with Canvas, JavaScript and EaselJS

with one comment

I have been having fun playing around with JavaScript, the HTML5 Canvas element and EaselJS lately, and have been building a lot of small experiments. I wanted to share a simple one I created, which creates spiral designs.

 

 

The example was pretty simple to put together, but is fun to play with, and can make some pretty nice patterns / spirals. I have uploaded a couple of images that I have created using the example:
Read the rest of this entry »

Written by mikechambers

February 9th, 2011 at 12:20 am

Posted in General

Tagged with , , , ,

Setting the background color when generating images from Canvas.toDataURL

without comments

One of the cool features of the HTML5 canvas element is the toDataURL method. This returns a Base64 encoded image in the form of a data url string. Among other things, this can be displayed directly within an IMG element on the page, or sent to the server so the image can be saved.

However, one thing that I found out this weekend is that there is no background color for the image returned from toDataURL. Looking at the actual canvas draft specification, I found this:
Read the rest of this entry »

Written by mikechambers

January 31st, 2011 at 1:37 pm

Posted in General

Tagged with , , ,

Layering Multiple Canvas Elements using JavaScript and EaselJS

without comments

If you run my EaselJS Drone Follow example from yesterday on any non-Android / iOS computer / device, you may notice that a graphic is drawn between the mouse touch point and the current position of the drone. This is done by managing and drawing to two canvas elements and is provided to help make it clear what the drone is following (your mouse) and which direction it is currently heading.

Why use two canvas elements, instead of just drawing to one? Well, there are two primary reasons I architected the example like this.
Read the rest of this entry »

Written by mikechambers

January 25th, 2011 at 12:54 pm

EaselJS / Canvas Example : Follow Drone

with 9 comments

As I posted the other day, I have been spending some time playing around with dynamic drawing with the HTML5 Canvas element and EaselJS. I have put together quite a few examples and experiments and will be posting them (along with what I learned from them) over the next couple of weeks.

The first example I want to share is a simple one which I call “follow”. It basically uses EaselJS to create a snake like shape that follows you mouse. Here is a screen shot of a graphic I created with it:

 

Here is an inline version of the example that you can play with. Just click to toggle whether the drone follows your mouse (requires a browser with support for the HTML5 Canvas element).
Read the rest of this entry »

Written by mikechambers

January 24th, 2011 at 1:00 pm

Getting Started with the Canvas Element and EaselJS

with 22 comments

One of the features of HTML5 that developers are most excited about is the Canvas element. The Canvas element essentials provides a bitmap canvas for dynamically rendering shapes and bitmap graphics. It is very similar to the Flash Player’s Bitmap and BitmapData classes.

However, working with the Canvas element can be difficult, especially if you need to manage, update and or / animate multiple shapes and bitmaps. Unlike the Flash Player, the Canvas element does not have a concept of a display list or individual items to render. Instead, it provides a single Canvas on which to draw, and it is up to the developer to determine what needs to be rendered and when.

Grant Skinner has release a JavaScript library named EaselJS, which attempts to provide a Flash like DisplayList API in order to make it easier to work with the Canvas element. The library is just an alpha release, but is surprisingly full featured at this early stage. If you are interested in experimenting with the Canvas API, this is a great way to get started.
Read the rest of this entry »

Written by mikechambers

January 19th, 2011 at 3:48 pm

Posted in General

Tagged with , , ,

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: