我有一個畫布標籤顯示一組路徑和矩形。縮放背景圖案填充html5畫布標籤
我通過使用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
感謝您的任何幫助!
嗨,對不起,我不明白我的理解 - 是不是隻是按照例子來擴展背景? –