2016-12-17 4 views
0

次のコードを使用して、キャンバス要素のheightプロパティとwidthプロパティを設定しています。サイズはピクセルで返されないようです。jqueryウィンドウの幅をピクセルに変換する

(function(){ 
    var width = $(window).width(), 
     height = $(window).height(); 
    canvas.width = width; 
    canvas.height = height; 
})() 

変更する方法はありますかこの値の単位を確認するか、スクリプトで変換せずに同等のピクセルを取得できますか?

https://jsfiddle.net/gt38asfm/2/

+0

期待値の代わりに何を得ますか? – cFreed

+0

わかりません。知る方法はありますか? – Pawan

+0

'console.log($(window).width());' – cFreed

答えて

2

キャンバスタグ自体がユニットを必要としません。

第2のこと;キャンバスのサイズが変わらないように、「サイズ変更」イベントが発生していません。あなたは完全なキャンバス領域を使用して要素を描画したい場合

var x = Math.round(Math.random()*500), y = Math.round(Math.random()*500) 

は、あなたがそのような何かをする必要があります:

var x = Math.round(Math.random()*width), y = Math.round(Math.random()*height) 

また、あなたは、この行に、アクティブ領域の大きさが限られています変数幅と高さは関数内にあることはできません。そうでないとエラーが発生します(幅は定義されていません)。

乾杯

+0

ohh ok。どうもありがとう!私はこれを完全に逃した。私のコードを以下に変更したところ、現在は正常に動作しています: – Pawan

+1

'var x = Math.round(Math.random()* canvas.width)、y = Math.round(Math.random()* canvas.height)' – Pawan

+0

すばらしいです :)。 html5キャンバスで楽しんでください;)。 –

0

$(ウィンドウ).resize()あなたのためokですか? https://jsfiddle.net/matake/gt38asfm/5/

$(window).resize(function() { 
    var width = $(window).width(), 
    height = $(window).height(); 
    canvas.width = width; 
    canvas.height = height; 
    sizeSet = true; 
}); 
+0

CSSプロパティを使用すると何らかの理由でキャンバスが歪んでしまいます。その高さと幅は要素自体に設定する必要があります。問題を示すために私はフィドルを追加しました。 – Pawan

+0

これはあなたのために大丈夫ですか? https://jsfiddle.net/matake/gt38asfm/5/ – MTK

+0

ご協力ありがとうございます。しかし、あなたがよく見ると、これはキャンバスを伸ばし、サイズを変更しないことです。 私のコードに実際にバグがあることに気付きました。私はxとyの固定値を500から選択するウィンドウサイズに変更しなければならなかった。解決策を得ました – Pawan

関連する問題