Is it possible to create ovals/ellipses with nicer strokes that have not that “blurred” border similar to:
- http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-ellipse-tutorial/
- http://www.html5canvastutorials.com/advanced/html5-canvas-ovals/
Can I somehow create more clear stroke line around the oval, or do I have to live with that “blurred” border?

! you can do it ! by doing post-processing :
1) Using globalCompositeOperation :
Edit :
yes, but no : on Chrome at least, ‘destination-in’ does not
match the specifications : the source is used to compute destination
color, so we cannot have single color from a shaded one.
( i did a try on JSBin : http://jsbin.com/ecipiq/4/ )
OR
2) Using getImageData and performance Array :
Which one ?
But on most browsers (all ?) get/put ImageData are slow as hell, this fact
alone might invalidate this solution.
The nice thing is you can precisely decide how to un-antialias.
Other StackOverflow members might have insight on all this.
Any of those solution will be much faster than a hand-written non-aliased
ellipse function.
usefull link for first solution :
http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/
Remarks to get you started faster :
You can get a UInt32Array view on your ImageData with :
then sourceBuffer32[i] contains Red, Green, Blue, and transparency packed into one
unsigned 32 bit int. Compare it to 0 to know if pixel is non-black ( != (0,0,0,0) )
OR you can be more precise with a Uint8Array view :
If you deal only with shades of grey, then R=G=B, so watch for
and you can set the i-th pixel to black in one time using the UInt32Array view :
You’ll surely be able to figure out how to deal with other colors than grey/black out of this example.