I think it is better to change the cursor than to hide it and then emulate. For example, the image of the pencil on the canvas in the graphics editor: the cursor is emulated — that is, a picture, move the cursor position on mousemove — will lag behind, and it will annoit user. IMHO it is better to have a set of cursors for all types of brushes and tools, and include them on the canvas via setting "cursor: url("my-brush.png")"
PS. But I don't know your case, so all this is purely IMHO.