For really complex images, use Adobe Illustrator to do the designing (a world class design editor).
Then save your image in .SVG format.
BTW, You can load the file (example "yourArt.svg") directly into an img tag.
But, more to your question, you can then use a canvas drawing library called FabricJS to read the svg and draw it to a canvas. The library website is: http://fabricjs.com/
Alternatively, you can use an online conversion tool to convert yourArt.svg into the required canvas drawing commands. A popular svg-to-canvas converter is: http://www.professorcloud.com/svg-to-canvas/
A word of warning...these techniques might require tweaking of the resulting canvas draw commands--especially if your artwork uses the more advanced techniques in Illustrator.
Your artwork can be very complex and still be handled! Check out the SVG section of the FabricJS demos: http://fabricjs.com/kitchensink/