Get the App
SLTechnology News&Howtos  ›  Development  › 

How to save the content of HTML5 Canvas as a picture with the help of toDataURL

Shulou Source: shulou.com Published: 2022-06-03 07:45:48 11月15日 Update

This article is about how to save the content of HTML5 Canvas as a picture with the help of toDataURL, the editor thinks it is very practical, so I share it with you to learn. I hope you can get something after reading this article.

The main idea is to use Canvas's own API-toDataURL () to implement, the whole implementation

The code for HTML + JavaScript is simple.

The code is as follows:

_ window.onload = function () {

Draw ()

Var saveButton = document.getElementById ("saveImageBtn")

BindButtonEvent (saveButton, "click", saveImageInfo)

Var dlButton = document.getElementById ("downloadImageBtn")

BindButtonEvent (dlButton, "click", saveAsLocalImage)

}

Function draw () {

Var canvas = document.getElementById ("thecanvas")

Var ctx = canvas.getContext ("2d")

Ctx.fillStyle = "rgba (125,46,138,0.5)"

Ctx.fillRect (25pr 25100100)

Ctx.fillStyle = "rgba (0146,38,0.5)"

Ctx.fillRect (58,74,125,100)

Ctx.fillStyle = "rgba (0,0,0,1)"; / / black color

Ctx.fillText ("Gloomyfish-Demo", 50,50)

}

Function bindButtonEvent (element, type, handler)

{

If (element.addEventListener) {

Element.addEventListener (type, handler, false)

} else {

Element.attachEvent ('on'+type, handler)

}

}

Function saveImageInfo ()

{

Var mycanvas = document.getElementById ("thecanvas")

Var image = mycanvas.toDataURL ("image/png")

Var w=window.open ('about:blank','image from canvas')

W. [XSS _ clean] ("

from canvas

")

}

Function saveAsLocalImage () {

Var myCanvas = document.getElementById ("thecanvas")

/ / here is the most important part because if you dont replace you will get a DOM 18 exception.

/ / var image = myCanvas.toDataURL ("image/png") .replace ("image/png", "image/octet-stream;Content-Disposition: attachment;filename=foobar.png")

Var image = myCanvas.toDataURL ("image/png") .replace ("image/png", "image/octet-stream")

_ window.location.href=image; / / it will save locally

}

Save Image

Download Image

The above is how to save the content of HTML5 Canvas as a picture with the help of toDataURL. The editor believes that there are some knowledge points that we may see or use in our daily work. I hope you can learn more from this article. For more details, please follow the industry information channel.

Tags: Content pictures code more knowledge articles practical that is work meetings ideas articles look knowledge points industry details information information channels follow parts channels Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MariaDB Shulou Information Apple Xiaomi Microsoft