【发布时间】:2018-06-21 05:43:42
【问题描述】:
我正在画布上画一把尺子。标尺在 chrome 中绘制,但在 IE 或 Edge 中不绘制。 标尺的刻度线不是画的。我认为我的问题在于中风。 IE不支持设置笔画吗?
知道我做错了什么吗?
我认为问题出在这两行,但我不确定。
division.graphics.setStrokeStyle(0.5).beginStroke("black");
backgroundOfDivision.graphics.drawRect(-pixelsPerDivision / 2, 200, pixelPerDivision, divisionHeight).endStroke();
function createRuler(lengthInInches, start) {
var ruler = new createjs.Container();
var pixelsPerDivision = settings.ruler.pixelsPerDivision;
var totalDivisions = settings.ruler.divisionsPerInch * (lengthInInches);
var cmPerInch = 2.54;
var mmPerInch = cmPerInch * 10;
var rectangle = new createjs.Shape();
var rulerHeight = 200;
rectangle.graphics.beginStroke("black").beginFill("white").drawRect(0, 200, totalDivisions * pixelsPerDivision, rulerHeight);
ruler.addChild(rectangle);
var divisionContainer;
var backgroundOfDivision;
var division, divisionHeight, numberText;
var end = start + totalDivisions;
var startDivision = start * settings.ruler.divisionsPerInch;
//Paint Standard Ruler
for (var i = 0; i <= totalDivisions; ++i) {
divisionContainer = new createjs.Container();
divisionContainer.value = i * (1 / settings.ruler.divisionsPerInch) + start;
divisionContainer.unit = "in";
backgroundOfDivision = new createjs.Shape();
division = new createjs.Shape();
division.x = i * pixelsPerDivision
division.graphics.setStrokeStyle(0.5).beginStroke("black");
if ((i + startDivision) % 32 == 0) {
// make big line
divisionHeight = 70;
if ((i + startDivision) > 0) {
var numberText = new createjs.Text(((i + startDivision) / 32).toString(), "32px Arial", "black");
numberText.x = division.x;
numberText.y = divisionHeight + 200;
numberText.textAlign = "center";
divisionContainer.addChild(numberText);
}
}
else if ((i + startDivision) % 8 == 0) {
// make 1/4 inch line
divisionHeight = 60;
}
else if ((i + startDivision) % 4 == 0) {
// make 1/8 inch line
divisionHeight = 45;
}
else if ((i + startDivision) % 2 == 0) {
// make 1/16 inch line
divisionHeight = 30;
}
else {
// make 1/32 inch line
divisionHeight = 15;
}
backgroundOfDivision.graphics.setStrokeStyle(0.5).beginStroke("Green").beginFill("Green");
backgroundOfDivision.alpha = 0.0;
backgroundOfDivision.graphics.drawRect(-pixelsPerDivision / 2, 200, pixelsPerDivision, divisionHeight).endStroke();
backgroundOfDivision.x = i * pixelsPerDivision;
division.graphics.drawRect(0, 200, 0, divisionHeight).endStroke();
divisionContainer.divisionHeight = divisionHeight;
divisionContainer.division = division;
divisionContainer.backgroundOfDivision = backgroundOfDivision;
divisionContainer.addChild(backgroundOfDivision);
divisionContainer.addEventListener("rollover", function (e) {
createjs.Tween.get(e.currentTarget.backgroundOfDivision).to({ alpha: 1.0 }, 500);
});
divisionContainer.addEventListener("rollout", function (e) {
createjs.Tween.get(e.currentTarget.backgroundOfDivision, { override: true }).to({ alpha: 0.0 }, 250);
});
divisionContainer.addEventListener("mousedown", function (e) {
if (clickedAnswerNowWait == false) {
btnClick();
clickedAnswerNowWait = true;
CheckAnswer(e.currentTarget)
}
});
divisionContainer.addChild(division);
ruler.addChild(divisionContainer);
allTheDivisions.push(divisionContainer);
}
}
【问题讨论】:
标签: html canvas html5-canvas createjs