1

createPattern に渡す画像が 2 倍以上拡大されるという問題があります。私は使用してみました:

contextInQuesiton.scale(1,1)

しかし、画像はまだ最初にズームインされており、そうするように私の明示的な指示があります.

何か案は?

コードは次のようになります

app.canvas = document.getElementById('thecanvas');
app.context = app.canvas.getContext('2d');

var bgImg  = new Image();
bgImg.src  = 'bg.png';

bgImg.onload = function() {
    var bgDraw = app.context.createPattern(bgImg, 'repeat-y');
    app.context.rect(0, 0, 1000, 600);
    app.context.fillStyle = bgDraw;
    app.context.fill();
}

編集:解決策:

問題は、キャンバス要素自体に幅と高さを設定していなかったことです。最初はjavascriptで、次にcssで設定していました。どちらの方法でも、そのスケーリングの問題が発生していました。高さと幅をタグに戻すと、すべて正常になりました。変。

4

1 に答える 1

1

contextInQuestion.scale(1, 1)何もしません。キャンバス上のすべてのポイントを現在の位置にマップしますが、目に見える効果はありません。

キャンバス上のすべてのものが希望の 2 倍の大きさで、現在のサイズの半分に拡大したい場合は、次のようにします。contextInQuestion.scale(0.5, 0.5)

于 2012-12-29T15:16:38.890 に答える