2016-08-01 21 views
2

Ich habe eine einfache Leinwand mit Papierjs konfiguriert. Bei der Größenanpassung ändert sich die Höhe und Breite des Fenster-Canvas. Danke Leute im Voraus.Paperjs: Canvas Höhe und Breite wird bei der Fenstergröße geändert. Wie verhindere ich die Änderung?

HTML

<canvas id="myCanvas" height="800" width="1000"></canvas> 

JS

var InIt = function() { 
    var canvas = document.getElementById('myCanvas'); 
    console.log(canvas); 
    paper.setup(canvas); 
    var path = new paper.Path(); 
    path.strokeColor = 'black'; 
    var start = new paper.Point(100, 100); 
    path.moveTo(start); 
    path.lineTo(start.add([200, -50])); 
    paper.view.draw(); 
} 

window.onload = InIt; 

window.onresize=InIt; 

Screenshot

Schirm 1 enter image description here

Schirm 2

enter image description here

Sie können die Höhe und Breite Unterschiede auf Resize sehen.

+0

Ja, tut es! Ich nehme an, dass Sie keine Aussage machen, sondern eine Frage stellen, aber Sie müssen diese Frage für uns buchstabieren, um zu wissen, was es ist :) Wenn Sie nicht wollen, dass es die Größe ändert, fügen Sie die Init-Funktion nicht hinzu Größe ändern – Blindman67

+0

@ Blindman67 Der Wert sollte sich bei der Größenänderung für Höhe und Breite nicht ändern. –

+0

Ändern Sie dann nicht die Leinwand, wenn die Seite die Größe ändert, indem Sie die 'Init'-Funktion nicht an' window.resize' anhängen. – Blindman67

Antwort

0

Do not paper.setup() in der Init-Funktion. Führen Sie paper.setup() einmal aus. Etwas wie das folgende (meine test.html Datei):

<script src="./dist/paper-core.js"></script> 

<canvas id="canvas" height="800" width="1000"></canvas> 

<script> 
var canvas = document.getElementById("canvas"); 
paper.setup(canvas); 
var init = function() { 
    console.log(canvas); 
    var path = new paper.Path(); 
    path.strokeColor = 'black'; 
    var start = new paper.Point(100,100); 
    path.moveTo(start); 
    path.lineTo(start.add([200, -50])); 
    paper.view.draw(); 
} 
window.onload = init; 
window.onresize = init; 
</script> 
+0

es gibt einen Fehler paper.js: 2687 Uncaught TypeError: Kann die Eigenschaft '_eventCounters' von undefined nicht lesen –

+0

Ich verwendete Papier 0.9.25. Welche Version verwendest du? – bmacnaughton

+0

Ich habe 0.9.15 Paperjs –