

You can change it to a different URL of your choice. We are using an external image as a source with an img tag.The inner text for the button element is “Download”.The div element is just a wrapper for the rest of the elements. We have 3 elements in the HTML file ( div, button, and img).temporarily add link to body and initiate the download document.body. get canvas data var image = canvas.toDataURL() Var canvas = document.getElementById( 'download_canvas' ) Ĭreate the function to download the image when the download button is clicked: Initialize the canvas with some basic shapes:
#Javascript download image from url code
This will initiate a download for the canvas image.ĭownloading and saving an HTML canvas as an image exampleĪs a quick example for downloading an HTML canvas as an image, we'll create a new canvas, draw some shapes on it and then use the above code to initiate a download of the canvas image.Ĭreate the HTML canvas and download button: temporarily add link to body and initiate the download ( tmpLink ) TmpLink.download = 'image.png' // set the name of the download file create temporary link var tmpLink = document.createElement( 'a' ) This will not be visible to the user as it happens almost instantly. Some browsers will only allow an anchor element to be activated if it resides within the body of your HTML document, to get around this you can temporarily add it to the document, activate the link, then immediately remove it. This can be done by assigning the returned value of toDataURL() to the href attribute of an anchor element that you manually create in your Javascript function, this can then be automatically activated using the click() function. Next, you would need to create a temporary link using the data retrieved from the toDataURL() function and automatically activate it so that each step can be incorporated into a single function. The encoderOptions argument specifies the quality of the image which by default is set to 0.92. The type arguments specifies the image format, by default this is set to image/png. Var imageData = canvas.toDataURL( type, encoderOptions ) There are 2 steps involved in allowing users to download an HTML canvas as an image.įirst, you must retrieve the image data from the canvas element itself, this can be accomplished using the Retrieving and downloading image data from a canvas using Javascript

A particularly useful feature that you can make use of in Javascript is the ability to capture a canvas as an image (formatted to your choice) and allow users to download this image all in one click.

HTML canvases can be used for a wide variety of applications such as drawing images,
