html5自定义图片位置,用HTML5 CANVAS做自定义路径的动态效果图片!

本文介绍了使用贝塞尔曲线在canvas上绘制复杂图形的过程,并展示了如何通过图片重复模式实现图案填充。重点在于CSS3贝塞尔曲线的应用和图像处理技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无标题文档

}

varcanvas=document.getElementById("canvasPic");varctx=canvas.getContext("2d");

drawShape(ctx,0,0);//绘制形状

functiondrawShape(ctx, xoff, yoff) {

ctx.beginPath();

ctx.moveTo(291 +xoff,74 +yoff);

ctx.bezierCurveTo(281 +xoff,62 +yoff,122 +xoff,138 +yoff,132 +xoff,256 +yoff);

ctx.bezierCurveTo(133 +xoff,271 +yoff,46 +xoff,233 +yoff,28 +xoff,258 +yoff);

ctx.bezierCurveTo(9 +xoff,284 +yoff,19 +xoff,353 +yoff,31 +xoff,362 +yoff);

ctx.bezierCurveTo(123 +xoff,431 +yoff,130 +xoff,332 +yoff,159 +xoff,377 +yoff);

ctx.bezierCurveTo(167 +xoff,390 +yoff,120 +xoff,470 +yoff,194 +xoff,480 +yoff);

ctx.bezierCurveTo(209 +xoff,482 +yoff,378 +xoff,486 +yoff,368 +xoff,461 +yoff);

ctx.bezierCurveTo(362 +xoff,447 +yoff,427 +xoff,462 +yoff,440 +xoff,426 +yoff);

ctx.bezierCurveTo(445 +xoff,412 +yoff,511 +xoff,416 +yoff,529 +xoff,350 +yoff);

ctx.bezierCurveTo(550 +xoff,273 +yoff,543 +xoff,157 +yoff,537 +xoff,121 +yoff);

ctx.bezierCurveTo(535 +xoff,106 +yoff,498 +xoff,89 +yoff,469 +xoff,69 +yoff);

ctx.bezierCurveTo(457 +xoff,60 +yoff,307 +xoff,71 +yoff,292 +xoff,71 +yoff);

ctx.stroke();

}//载入图片

varimg=newImage();

img.src="v.png";

img.onload=function()

{varpattern=ctx.createPattern(img,"repeat");//img.width='100px';

ctx.fillStyle=pattern;

ctx.fill();

ctx.globalCompositeOperation="copy";

}//图片鼠标效果

canvas.onmouseover=function()

{//alert('1');

ctx.shadowColor="black";

ctx.shadowBlur=20;

ctx.shadowOffsetX=6;

ctx.shadowOffsetY=6;

ctx.fill();

ctx.globalCompositeOperation="xor";

ctx.shadowColor="white";

ctx.shadowBlur=20;

ctx.shadowOffsetX=6;

ctx.shadowOffsetY=6;

ctx.fill();

}

canvas.onmouseout=function()

{

ctx.shadowColor="white";

ctx.fill();

ctx.globalCompositeOperation="lighter";

ctx.shadowColor="black";

ctx.fill();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值