我有一个显示一组路径和矩形的画布标签。
我使用 ctx.scale(2,2) 函数放大这些路径和矩形,然后用新的比例重新绘制它们,使它们清晰。
我想为一些矩形设置一个简单的纹理背景,即一个像素黑色一个白色,但是当我将纹理作为填充应用到缩放的矩形时,画布也会缩放背景图案。我希望背景图案保持在一个像素黑色,一个像素白色的原始比例。但似乎无法弄清楚如何在它看起来模糊的情况下做到这一点。我在这里有一个例子:http: //jsfiddle.net/4UxWg/
var patternCanvas = document.createElement('canvas');
var pattern_ctx = patternCanvas.getContext("2d");
patternCanvas.width = 1;
patternCanvas.height = 2;
pattern_ctx.fillRect(0,0,1,1);
var mainCanvas = document.createElement('canvas');
var ctx = mainCanvas.getContext("2d");
mainCanvas.height = 500;
mainCanvas.width = 400;
document.getElementsByTagName("body")[0].appendChild(mainCanvas);
//scale function - remove this line to see how the pattern should look like
ctx.scale(5,5);
var pattern = ctx.createPattern(patternCanvas, "repeat");
ctx.fillStyle= pattern;
ctx.fillRect(2,2,40,40); //fillRect looks wierd and pattern is no longer 1px by 1px
谢谢你的帮助!