【问题标题】:How can I convert COLS and ROWS To pixel values in Electron JS?如何在 Electron JS 中将 COLS 和 ROWS 转换为像素值?
【发布时间】:2021-12-24 21:25:39
【问题描述】:

我在GitHub上有这个代码

在main.js 的第 23 行,我有这个代码:

var ptyProcess = pty.spawn(shell, [], {
    name: "xterm-color",
    cols: 80,
    rows: 30,
    cwd: process.env.HOME,
    env: process.env
});

在这里我已经定义了终端的行和列,但是有什么方法可以将列和行转换为像素?

我想使用列数和行数,以便我可以将电子窗口的窗口大小设置为与ptyProcess 的行数和列数相同

【问题讨论】:

    标签: javascript node.js electron pty


    【解决方案1】:

    我看到BrowserWindow 非常清楚地定义了width 和height 属性。

    我的直觉是,在节点环境中运行时,尝试将任何值转换为像素时,类似于浏览器的 window 对象将是一个很好的起点。

    例如,在 Web 应用程序中,您可以根据浏览器的 width 和 height 以及 window.navigator.userAgent 推断像素数,这将允许您确定像素密度,等等。对界面大小的任何其他限制都可以让您确定像素数。

    在我看来,最终,您需要在某处设置一些任意限制并从那里确定值。

    我希望这不会没有帮助。

    我知道 window 对象允许您查询浏览器的宽度和高度,并且您可以从那里编写一个函数,该函数将在宽度和高度变化时提供动态值。

    您可以考虑使用像 JSDOM 这样的库来提供对某些相同 API 的访问。即,

    const { window } = new JSDOM(`...`);
    // or even
    const { document } = (new JSDOM(`...`)).window;
    

    请注意,我所指的 API 已记录在案 here

    【讨论】:

    • 我想将该列/行值转换为像素
    • 我已将答案编辑得更清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2011-04-29
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    相关资源
    最近更新 更多