html5垂直线怎么画,如何使HTML5画布上的图像垂直和水平重复?

我正在将一幅世界地图绘制到HTML5画布上。我需要世界地图垂直和水平重复。我将世界地图作为img标签动态添加到我的Web应用程序中的div上,并将其显示为显示世界的不同部分(取决于在脚本中其他地方传递的数据)。例如,如果亚洲占据了左边的一半,而不是美洲,那么我不想在右边出现空白区域。我想让地图开始重复。所以我需要在画布上绘制的图像重复。如何使HTML5画布上的图像垂直和水平重复?

我发现这在其他地方的stackoverflow,但它不适合我。 D:

createFullMapImage: function(done){

var imageObj = new Image();

imageObj.onload = _.bind(function(){

var canvas = document.createElement("canvas"),

context = canvas.getContext('2d'),

w = imageObj.width,

h = imageObj.height;

canvas.width = w;

canvas.height = h;

for(var w = 0; w < canvas.width; w += imageObj.width){

for(var h = 0; h < canvas.height; h += imageObj.height){

context.drawImage(imageObj, w, h);

}

}

var canvasImage = canvas.toDataURL('image/png');

done.call(this, canvasImage);

}, this);

imageObj.src = [src]

}

P.S.我已经尝试用背景图像属性设置div来映射世界地图的URL,并设置background-repeat,但由于某种原因,这会扭曲我想要的大小。

THX --Gaweyne

编辑 - RE:重复。作为HTML5画布的新手,对于我来说,从同一主题上的其他线程不清楚,在画布上重复使用图像src时,是否将.fillRect()方法与.drawImage()方法结合使用。这个线程的回答者帮助澄清了。

2015-10-13

Gaweyne

+1

使用'ctx.createPattern'重复位图图像。将'fillStyle'设置为该图案,然后在想要重复图像的区域上绘制一个矩形。 –

+0

也试过... –

+0

...但我可能一直在做错了。你将如何修改上述代码,使用.createPattern()方法? –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值