近期在学习关于画布知识,关于 画布导出图片,

在导出jpeg格式的图片时,会发现图片背景色变成了黑色,原因是画布透明的地方 默认转成了黑色,可以在绘制画布前设置透明处背景色为白色。

// 背景色转换成白色
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, c.width, c.height);
 <!-- 一个画布在网页中是一个矩形框,通过 <canvas> 元素来绘制. -->
<!-- HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. -->
<!-- <canvas> 标签只是图形容器,您必须使用脚本来绘制图形。 -->
<canvas id="canvas"></canvas>
<button class="button-balanced" id="save">转换</button>
<a href="" download="canvas_love.jpeg" id="save_herf">
<img src="" id="save_img" alt=""> </a>
        var c = document.getElementById("canvas");
function drawLove(canvas) {
let ctx = canvas.getContext("2d");
ctx.beginPath();
// 背景色转换成白色
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, c.width, c.height); // ctx.drawImage(img, 0, 0); ctx.fillStyle = "#E992B9"; ctx.moveTo(75, 40); ctx.bezierCurveTo(75, 37, 70, 25, 50, 25); ctx.bezierCurveTo(20, 25, 20, 62.5, 20, 62.5); ctx.bezierCurveTo(20, 80, 40, 102, 75, 120); ctx.bezierCurveTo(110, 102, 130, 80, 130, 62.5); ctx.bezierCurveTo(130, 62.5, 130, 25, 100, 25); ctx.bezierCurveTo(85, 25, 75, 37, 75, 40); ctx.fill();
} drawLove(c); var butSave = document.getElementById("save");
console.log(butSave)
butSave.onclick = function () {
// alert('123') var svaeHref = document.getElementById("save_herf"); /* * 传入对应想要保存的图片格式的mime类型 * 常见:image/png,image/gif,image/jpg,image/jpeg */ var img = document.getElementById("save_img"); var tempSrc = canvas.toDataURL("image/jpeg");
// console.log(tempSrc) svaeHref.href = tempSrc; // a 标签的 href 地址 img.src = tempSrc; };

CanvasRenderingContext2D 接口提供的 2D 渲染背景用来绘制<canvas>元素,为了这个接口的对象,需要在 <canvas> 上调用 getContext() ,并提供一个 "2d" 的参数:

toDataURL()这个方法能把画布里的图案转变成base64编码格式的png,然后返回 Data URL数据

canvas画布导出图片并下载的更多相关文章

  1. 微信小程序--canvas画布实现图片的编辑

    技术:微信小程序   概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--ca ...

  2. canvas.toDataURL 画布导出图片

    <html> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <he ...

  3. js将canvas保存成图片并下载

    <canvas id="canvas" width="400" height="400"></canvas> < ...

  4. 基于Vue的v-charts导出图片并下载

    依赖 npm install file-saver 页面 <ve-chart ref="chart"></ve-chart> <el-button t ...

  5. 将canvas画布内容转化为图片(toDataURL(),创建url)

    将canvas画布内容转化为图片(toDataURL(),创建url) 总结 1.现在的浏览器都支持右键另存为图片的方法来将canvas画布内容转化为图片 2.在代码里面可以通过toDataURL() ...

  6. [技术博客]海报图片生成——小程序canvas画布

    目录 背景介绍 canvas简介 代码实现 难点讲解 圆角矩形裁剪失败之PS的妙用 编码不要过硬 对过长的文字进行截取 真机首次生成时字体不对 drawImage只能使用本地图片 背景介绍 目标:利用 ...

  7. 微信小程序 canvas导出图片模糊

    //保存到手机相册save:function () { wx.canvasToTempFilePath({ x: , y: , width: , //导出图片的宽 height: , //导出图片的高 ...

  8. js 画布与图片的相互转化(canvas与img)

    使用js将图片拷贝进画布 //将图片对象转化为画布,返回画布function ImageToCanvas(image) { var canvas = document.createElement(&q ...

  9. html页面、canvas导出图片

    背景:项目现场提出将一个html做的图形页面导出为一张图片的需求,在网上搜了一下,发现都不是很全面,所以综合了很多大神的帖子,自己再次封装,以适用项目需求. 所需js库:html2canvas.js( ...

随机推荐

  1. C 编译器的“贪心法”

    C语言中有单字符符号和多字符符号之分,那么,当C编译器读入一个字符‘/’后又跟了一个字符‘*’,那么编译器就必须做出判断:是将其作为两个分别的符号对待,还是合起来作为一个符号对待.C语言对这个问题的解 ...

  2. 学习记录:@Transactional 事务不生效

    测试时使用spring boot2.2.0,在主类中调用,@Transactional 不起作用,原代码如下: @SpringBootApplication @Slf4j @Component pub ...

  3. Windows——关于Word2016/2019提示需要修复问题处理

    一.问题描述 打开Word提示 很抱歉此功能看似已中断,并需要修复.请使用Windows控制面板中的“程序和功能”选项修复Microsoft Office. 二.解决方法 运行 regedit 进入注 ...

  4. PHP面向对象简易验证码类

    PHP简易验证码类 <?php class authCode { private static $instance = null; #实例对象 private $width = 120; #图片 ...

  5. 【leetcode】973. K Closest Points to Origin

    题目如下: We have a list of points on the plane.  Find the Kclosest points to the origin (0, 0). (Here, ...

  6. 分块——cf1207F

    这么傻逼的题当时想了那么久 用a数组维护原序列,b[i][j]表示 pos%i=j 的 a[pos]之和 对于每个修改1 x y,先直接修改a[x],然后枚举i=1..700,修改b[i][x%i] ...

  7. bzoj1001 [ICPC-Beijing 2006]狼抓兔子

    我满心以为本题正解为最短路,结果到处都是最大流…… 几乎所有的都写了什么“对偶图”跑最短路,但我真的不知道什么叫做对偶图---------------------------------------- ...

  8. &#65279; 导致页面顶部空白一行

    模板文件生成html文件以后会在页面body开头处生成可见的控制符 导致页面头部出现一个空白行,导致这样的原因就是页面的编码格式是UTF-8 + BOM 解决方法,最简单的就是使用编辑器重新保存文件 ...

  9. css定位的理解

    在CSS中关于定位的内容是:position:relative | absolute | static | fixed ● static 没有特别的设定,遵循基本的定位规定,不能通过z-index进行 ...

  10. DNS排查技术图谱

    # DNS排查技术图谱 ## 应用程序视角- 应用程序 - 浏览器 - hostname cache - ping- 操作系统 - hostname cache - 域名解析器 - dig domai ...