NW中的paper-js(node-webkit):在窗口调整大小和'require'关键字时自动更新

时间:2018-06-28 10:19:16

标签: node-modules node-webkit paperjs nw.js

我已经设置了一个在NW(node-webkit)中使用纸张的最小示例。

它在这里:https://gitlab.com/doom-fr/paperjsNwMinimalExample

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,user-scalable=no">
        <title>nw minimal example</title>
    </head>
    <body style="background-color:grey; overflow:hidden;">
        <canvas id="myCanvas">Sorry your browser does not support &lt;canvas&gt;.</canvas>
        <script src="jslib/paper-core.js"></script>
        <script>
            var canvas;
            var line;
            //~ var paper=require('paper-jsdom-canvas');
            function onWinLoad() {
                canvas = document.getElementById("myCanvas");
                paper.setup(canvas);
                paper.project.view.autoUpdate=true;
                line = new paper.Path.Line([0,0],[1000,1000])
                onResize();
                line.strokeColor='red';
            }
            window.addEventListener("load",onWinLoad,false);
            window.addEventListener("resize",onResize,false);

            function onResize() {
                'use strict';
                console.log("onResize");
                var pixelRatio = window.devicePixelRatio || 1;
                var width=window.innerWidth;
                var height=window.innerHeight;
                canvas.width = width*pixelRatio;
                canvas.height = height*pixelRatio;
                canvas.style.width = width+'px';
                canvas.style.height = height+'px';
                line.strokeColor='red';
            }
        </script>
    </body>
</html>

但是我有一个问题,因为视图的自动更新不适用于画布调整大小。 我每次都要设置一个更改。在这里,我设置线条的颜色。 如果我不这样做,那条线就会消失……

为使其工作,我还必须像html一样导入脚本。 如果我尝试var paper = require('paper-jsdom-canvas')paper-jsdompaper,则不起作用。

我的机器是Linux debian jessie。

Thx

0 个答案:

没有答案