HTML5正方形与图片一起边缘,如何在HTML5 Canvas中避免多边形边缘拼接瑕疵?

我为OpenHeatMap开源项目维护并行Flash和

HTML5 / Canvas渲染器.我被填充多边形的渲染中的不一致所困扰,两个版本之间的分数坐标.如果渲染两个共享边的多边形,Canvas将沿着该边显示可见的连接,而Flash将两者无缝地融合在一起,如果它们是相同的颜色,则没有可见的差异.我在这里放了一个小页面来显示问题:

[Gak,垃圾邮件预防阻止了这种形象,但请看这里的截图web.mailana.com/labs/stitchingbug.png]

源代码以及执行相同操作的Flash项目位于:

github.com/petewarden/stitchingbug

根本问题是如果你不能在没有接缝的情况下将多边形拼接在一起,就不可能进行任何复杂的多边形渲染.我不确切知道Flash的填充规则是什么,但它们产生了正确的结果,3D渲染器也是如此.有没有人有客户端修复来解决这个问题?它是跨浏览器,这使它看起来很刻意,因此任何对所用规则的引用也将受到赞赏.这是Canvas代码:

var ctx = canvas.getContext('2d');

ctx.fillStyle = 'rgb(0,0)';

ctx.beginPath()

ctx.moveTo(0,0);

ctx.lineTo(50.5,100);

ctx.lineTo(0,100);

ctx.closePath();

ctx.fill();

ctx.beginPath()

ctx.moveTo(50.5,0);

ctx.lineTo(100,100);

ctx.lineTo(50.5,100);

ctx.closePath();

ctx.fill();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值