javascript - KineticJS setScale/Zoom 问题 - 随机线

标签 javascript html canvas html5-canvas kineticjs

如果我使用 KineticJS 设置比例/缩放,我会收到一个奇怪的错误。出现随机线条。

EDIT1:好的。看起来如果我将 scaleRate 设置为 0.25、0.125、0.0625 等,它就可以工作。还有其他修复吗?

EDIT2:嗯。 EDIT1 并不是真正的修复。如果我缩放整个页面(浏览器),这些线条会再次出现。

<小时/>

http://jsfiddle.net/2trNz/

HTML:

<a href="#" id="zo">Zoom Out</a>
<a href="#" id="zi">Zoom In</a>
<div id="viewport"></div> 

Javascript:

var stage = new Kinetic.Stage({
            container: 'viewport',
            width: 500,
            height: 500
        });

var layer = new Kinetic.Layer();

var tileWidth = tileHeight = 32;

for(var row = 0; row < 20; row++) {
    for(var column = 0; column < 20; column++) {
        var tile = new Kinetic.Rect({
                                x: column * tileWidth,
                                y: row * tileHeight,
                                fill: "green",
                                width: tileWidth,
                                height: tileHeight,
                            });
        layer.add(tile);
    }  
}

stage.add(layer);
stage.draw();

var scale = 1;
var scaleRate = 0.05;
$("#zo").on('click', function(e) {
    scale -= scaleRate;
    layer.setScale(scale);
    stage.draw();
    e.preventDefault();
});
$("#zi").on('click', function(e) {
    scale += scaleRate;
    layer.setScale(scale);
    stage.draw();
    e.preventDefault();
});
<小时/>

知道如何解决这个问题吗?

提前致谢!

最佳答案

我认为问题在于四舍五入。 如何解决:

添加描边

new Kinetic.Rect({
    x: column * tileWidth,
    y: row * tileHeight,
    fill: "green",
    width: tileWidth,
    height: tileHeight,
    stroke : "green"
});

或添加绿色背景

或增加图 block 宽度和高度

关于javascript - KineticJS setScale/Zoom 问题 - 随机线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20823641/

相关文章:

java - 提交调用 javascript 函数后的 JSF 提交按钮

javascript - 在 PHP 和 Ajax 中使用 Json 传递值

javascript - 分离函数时变量不记得自己

javascript - 是否有一个JavaScript库可以创建带有集成表的图表?

html - 无法正确对齐我的按钮

javascript - 在多个用户之间共享上传的图像到 Canvas

Android:检查是否有任何东西被绘制到 Android Canvas

html - 正确使用媒体查询

javascript - 使用 JavaScript 更改表格单元格的宽度

javascript - 功能 Hook Canvas 等