canvas 将html绘制图片 生成图片链接

废话不多说,直接上代码

其中图片地址换成你的,自己玩儿去吧

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div#a {
				width: 1105px;
				height: 500px;
				margin: 0 auto;
				border: 0px solid;
			}
		</style>
	</head>

	<body>
		<div>
   <canvas id="canvas"></canvas>
</div>
<div>
    <img id="img" style="width: 100%;height: 100%" src="#" alt="">
</div>

	</body>

</html>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
	//指定canvas同页面长宽一样
var H = $(window).height();
var W = $(window).width();
$("#canvas").attr({'height':H,'width':W});
//设置canvas跟屏幕一样大小


//canvas绘图
function draw(){
    var canvas = document.getElementById('canvas');
    var h = H/100;//百分1的高
    var w = W/100;//百分1的宽
    var ctx = canvas.getContext("2d");

    var imgBg = new Image();
    imgBg.src = 'img/banner_bg.png'
    var img1 = new Image();
    img1.src = 'img/b631fc34b1563f7ab0af948e5bd8d19e.jpg';
    window.onload = function(){
        ctx.drawImage(imgBg,0,0,750,1208,0,0,W,H)
        ctx.drawImage(img1,0,0,600,500,400,200,500,500)//设置图片比例和位置,匹配手机屏幕

        //绘制简单的文字
        ctx.fillStyle = "rgba( 0, 0, 0, 1)"; // black color
        ctx.font="40px Arial";
        ctx.fillText("托尼斯塔克",100,300);

        //生成的data的路径,可以通过php生成图片存到数据库,单存data路径不合适,高清图片情况下会出现图片的残缺
        var srccc = canvas.toDataURL("image/png");
        console.log(srccc)
        $("#img").attr("src",srccc);
    }
}

draw();
</script>

  如下图:上边为canvas绘制的图片,下边是有canvas生成的图片链接(<img src=" "/>)

 

ok,好兄弟们拿走不谢

 

转载于:https://www.cnblogs.com/wangfugui/p/10120563.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: html2canvas是一个JavaScript库,它可以将网页中的HTML元素转化为Canvas图像。使用该库可以方便地获取网页中的某个元素的截图,其中包括图片、文本、表格等等。 以下是使用html2canvas获取图片的步骤: 1. 引入html2canvas库。可以通过在HTML文件中添加以下代码来引入html2canvas: ``` <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script> ``` 2. 获取需要截图的HTML元素。可以通过getElementById等方法获取到需要截图的元素。 3. 调用html2canvas方法。在获取到需要截图的元素后,可以调用html2canvas方法进行截图。例如: ``` html2canvas(document.getElementById("myElement")).then(function(canvas) { // 将截图显示在页面上 document.body.appendChild(canvas); }); ``` 在以上例子中,我们获取了id为"myElement"的元素,并将其截图显示在了页面上。 请注意,由于html2canvas需要将网页中的DOM元素转换为Canvas图像,因此在使用该库时可能会受到浏览器安全策略的限制。例如,如果需要截图的元素位于不同的域名下,可能会导致无法成功截图。 ### 回答2: html2canvas是一个开源的JavaScript库,用于将HTML元素转换成Canvas元素,并将其保存为图片。它提供了一种简单的方法来捕捉和导出网页上的内容。 使用html2canvas,您可以通过以下步骤获取图片: 1. 引入html2canvas库:在HTML文件中,您需要引入html2canvas库的JavaScript文件。您可以从官方网站或GitHub上下载最新版本的库文件,并将其链接HTML文件中。 2. 创建Canvas元素:在页面上选择要转换为图片HTML元素,可以是整个页面、特定的div容器或其他元素。使用JavaScript代码,您可以通过document.getElementById()或其他选择器将其选中,并创建一个空的Canvas元素。 3. 使用html2canvas转换:使用html2canvas的API,在Canvas元素上调用html2canvas()函数。该函数将触发转换过程,并将所选HTML元素的内容绘制Canvas上。 4. 导出图片:转换完成后,您可以使用Canvas元素的toDataURL()方法,将Canvas上的内容以DataURL的形式转换为图片。您可以通过创建一个新的Image元素,并将DataURL设置为其src属性,从而显示或下载生成图片。 需要注意的是,html2canvas在处理某些复杂或动态元素时可能会遇到一些限制或兼容性问题。为了获得最佳结果,您可能需要在使用html2canvas之前确保页面元素的正确布局和渲染。 总结起来,通过使用html2canvas,您可以方便地将HTML元素转换为Canvas,并将其保存为图片,从而实现网页内容的截图或导出功能。 ### 回答3: html2canvas 是一种用于将网页内容转化为图片JavaScript 库。通过使用html2canvas,可以将整个网页或特定区域的内容截图,并将其转化为图片格式。 使用html2canvas非常简单。首先,需要确保将库文件引入到网页中。然后,通过调用html2canvas函数并传入要截图的元素,可以将其转化为图片。例如,可以使用如下代码将整个网页转化为图片: ```javascript html2canvas(document.body).then(function(canvas) { document.body.appendChild(canvas); }); ``` 上述代码将整个body元素转化为图片,并将其添加到页面中。 除了将整个网页转化为图片,还可以指定特定元素进行截图,只需要将待截图的元素作为参数传入html2canvas函数即可。例如,如果要截图id为"myDiv"的div元素,可以使用如下代码: ```javascript html2canvas(document.getElementById("myDiv")).then(function(canvas) { document.body.appendChild(canvas); }); ``` 上述代码将id为"myDiv"的div元素转化为图片,并将其添加到页面中。 html2canvas还提供了更多的配置选项,可以通过配置选项来自定义截图的行为。例如,可以指定图片的宽度和高度,设置背景颜色,设定截图的边距等。具体的配置选项可以参考html2canvas的官方文档。 总之,html2canvas 是一个强大且易用的 JavaScript 库,可以轻松地将网页内容转化为图片,为网页开发和设计提供了很多便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值