慕标7405213
2024-07-27
上面代码所得
慕先生4158635
2021-06-05
什么样的效果看一下呀,
慕运维5049730
2020-09-11
向右看,这些相关课程都不错的
香喷喷的小烤鸡95
2019-09-08
当然没有了,自己跟着老师好好学习吧
格物致知126
2018-07-28
可以的,也可以用大神用的JetBrains WebStorm 编写代码
a蓝色妖姬
2018-04-02
慕粉1827178469
2018-01-14
图像分辨率看看是多大、
蓦默
2017-11-27
context.drawImage(image,0,0)
canvas 画照片的时候没有设置宽高,canvas 会默认使用照片的实际宽高来画的
蓦默
2017-11-23
根本就没错,只是剪裁的圆的参数xy轴改一下就出来了!!!!!好坑爹啊
ThinkSummer
2017-07-02
你把你的效果展示发在提问的问题里面干嘛。。
Gaiokane
2017-06-07
图片自适应,父元素宽度用百分比
青衣若素
2017-06-07
没代码。。。
weibo_琴上琴聲紙上聽_03302885
2017-04-12
换个大些图片。
通过css把图片放到中间。
班大师
2017-03-21
可以先定义一个变量存储定时器的状态,
代码可以这样写:
var state = false;
function reset(){
clearInterval(timer);
inintCanvas();
state = true;
}
function show(){
var timer = setInterval(function(){
slippingRegion.r +=20;
draw(img,slippingRegion);
if (slippingRegion.r>= 2*Math.max(oCanvas.width,oCanvas.height)||state) {
clearInterval(timer);
state = false;
}
},30);
}
哇妙012
2017-03-14
save() 和 restore() 方法允许你保存和恢复一个 CanvasRenderingContext2D 对象的状态。save() 把当前状态推入到栈中,而 restore() 从栈的顶端弹出最近保存的状态,并且根据这些存储的值来设置当前绘图状态。
CanvasRenderingContext2D 对象的所有属性(除了画布的属性是一个常量)都是保存的状态的一部分。变换矩阵和剪切区域也是这个状态的一部分,但是当前路径和当前点并不是。
慕粉1911073507
2017-03-06
应该是没有设置canvas的层级,z-index要比图片的层级高
qq_锡死亡骑士_0
2017-01-05
你的具体代码不清楚 ,可能是因为你的数据设置问题,五角星的绘制牵扯到一个圆心问题,如果圆心没有translate重置,那么你的圆心就刚还在你设置的clip边缘上面,你可分析的看看,感觉就是圆心的设置问题,最简单的的方法测试就是把你的五角星的尺寸全部*0.5 看看如果显示好了,那么肯定是你的圆心坐标问题,可以看看老师前面的课程,收货真的很大
慕码人5999576
2016-12-18
慕用8494457
2016-11-27
这个问题可以在reset中加个clearInterval(theAnimation);不过需要把theAnimation的定义提到show函数外面去
zl135
2016-11-17
用的什么浏览器?换个浏览器试试?
html页面中canvas的dom定义没有?id对应是否一致?
小布4237603
2016-10-27
现在只是一个空文件,以后会添加内容的
一直都在路上
2016-10-26
去了解下drawimage更详细的API后你就会完全了解canvas的绘图机制了~或者你看看这个视频
http://www.imooc.com/learn/338
里面就有清楚的讲解~
Roarcool
2016-10-09
e我理解的是事件对象,就这次而言,这里的e没有什么用处,但是在别的地方会由用,还有两个函数不写一起是因为,当图片加载好了之后,要初始化clip这个对象(也就是老师之前写的clip什么的),而且在重置按钮中也要初始化,所以分开写。
全_无_修
2016-09-28
你可以修复一下你的浏览器,可能播放的插件出问题了吧
全_无_修
2016-09-28
刷新一下试试吧,我的就可以播放。
曾紫歌
2016-08-31
用图片创建pattern 作为 strokeStyle 能相对简单的实现
var canvasWidth = 2000;
var canvasHeight = 1143;
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var isMouseDown = false;
var imageReady = false;
var lastPoint = {x: 0, y: 0};
canvas.width = canvasWidth;
canvas.height = canvasHeight;
var pattern ;
var image = new Image();
image.src = "image.jpg";
image.onload = function () {
imageReady = true;
pattern = context.createPattern(image,"no-repeat");
};
function windowToCanvas(x, y) {
var bbox = canvas.getBoundingClientRect();
return {
x: Math.round(x - bbox.left),
y: Math.round(y - bbox.top),
};
}
canvas.onmousedown = function (e) {
e.preventDefault();
isMouseDown = true;
lastPoint = windowToCanvas(e.clientX, e.clientY);
};
canvas.onmouseup = function (e) {
e.preventDefault();
isMouseDown = false;
};
canvas.onmouseout = function (e) {
e.preventDefault();
isMouseDown = false;
};
canvas.onmousemove = function (e) {
e.preventDefault();
if (isMouseDown) {
var curPoint = windowToCanvas(e.clientX, e.clientY);
imageLine(curPoint,lastPoint);
lastPoint = curPoint;
}
};
function imageLine(curPoint,lastPoint) {
context.beginPath();
context.moveTo(curPoint.x,curPoint.y);
context.lineTo(lastPoint.x,lastPoint.y);
context.strokeStyle=pattern;
context.lineWidth=20;
context.lineCap="round";
context.stroke();
}
飘移的鼻毛
2016-08-04
化骨神石
2016-08-03
第60行代码错了
你写的是canvas.save()
应该是context.save();
qq_染指红颜泪_0
2016-07-28
网上没有
耀暴走的青春
2016-07-21