首页 前端知识 png/jpg转svg,并下载到本地 ,需要下载png/jpg就简单了

png/jpg转svg,并下载到本地 ,需要下载png/jpg就简单了

2024-02-02 09:02:56 前端知识 前端哥 302 942 我要收藏

png/jpg转svg,并下载到本地 ,需要下载png/jpg就简单了

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://www.qianduange.cn/upload/article/jquery.min.js&" alt="" style="width: 100px;" id="img">
<br>
<br>
<br>
<p>转换为svg:</p>
<div id="container">
</div>
<p>
<button type="button" id="download">下载svg</button>
</p>
</body>
</html>
<script>
const img = document.getElementById('img'); //获取图片
var canvas = document.createElement("canvas"); //canvas
const width = img.width; //图片宽
const height = img.height;//图片高
canvas.width = width;
canvas.height = height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, width, height);
var dataURL = canvas.toDataURL(); //canvas获取的base64格式
//svg 的dom节点(字符串)
var svgString = `<svg id="downloadSvg" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="${width}px" height="${height}px"
viewBox="0 0 ${width} ${height}" enable-background="new 0 0 ${width} ${height}" xml:space="preserve">
<image id="image0" width="${width}" height="${height}" x="0" y="0" href="${dataURL}"></image>
</svg>`;
//把svg插入到页面中
$('#container').append(svgString);
//下载功能
function download(arg) {
var blob = new Blob([arg], {type: 'image/svg'});
var href = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = href;
a.download = 'download.svg'; //设置下载svg的名称
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(href);
}
$("#download").click(function () {
download(document.querySelector('svg').outerHTML)
})
</script>
复制
转载请注明出处或者链接地址:https://www.qianduange.cn//article/1109.html
标签
评论
发布的文章

Ajax用法总结

2024-02-14 09:02:07

JQuery之jsTree树形插件

2024-02-14 09:02:01

Why React Doesn‘t Need jQuery?

2024-02-14 09:02:00

jQuery模板字符串

2024-02-14 09:02:58

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!