javascript - GitGraph - 缩放图表的大小

标签 javascript git

我正在使用 GitGraph javascript 库 - http://gitgraphjs.com/

我目前正在使用示例文件来查看 GitGraph 中的工作原理。示例文件的链接 - https://github.com/nicoespeon/gitgraph.js/blob/develop/examples/index.js

有什么可能的方法来缩放图表吗?我尝试覆盖CSS样式,图形的质量大大下降。

我期待类似 GitGraph.scale 选项的东西?可以用吗?

最佳答案

主项目页面不太容易链接,但看起来标题为“定义您自己的模板”的部分正是您正在寻找的内容?

编辑:

好的,为了更好地理解您要查找的内容,我自己尝试了一下,发现 Canvas 元素的 widthheight 属性是 added to the DOM programmatically in GitGraph.prototype.render() ,基于一些中等复杂的数学,涉及来自 template 对象的一堆值,以及使用 window.devicePixelRatio 派生的 scalingFactor 值。

在渲染 Canvas 之前似乎没有办法修改这些值,但是使用提供的graph:render事件,您可以做到这一点<强>之后。

gitGraph.canvas.addEventListener("graph:render", function(event) {
  console.log(event.data.id, "has been rendered with a scaling factor of", gitGraph.scalingFactor);
  rescale();
}
function rescale() {
  var g = document.getElementById('gitGraph');
  var w = +g.style.width.slice(0,-2) * 0.5;  // < just change these two
  var h = +g.style.height.slice(0,-2) * 0.5; // multipliers to the same
  g.style.width = w + 'px';                  // value
  g.style.height = h + 'px';
};

这是使用官方示例代码的函数(请注意,它确实搞砸了绝对定位的 detail div):

http://codepen.io/phoward8020/pen/ZOpERB

这有帮助吗?

(编辑 2:内联堆栈溢出示例代码没有添加任何回答值(value),因为它不可编辑。已替换为 CodePen,以便读者可以通过更改乘数值来验证功能。)

关于javascript - GitGraph - 缩放图表的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886973/

相关文章:

javascript - Angularjs ui-router抽象状态不调用 Controller

data-structures - 用于列表(数据结构)可视化的 Javascript 库

javascript - 为什么 oncopy 不能与 React 一起使用,而是与普通的 JavaScript 代码一起使用?

git - Git 在提交消息中说 'rewrite' 或 'rename' 是什么意思?

Cherry-Pick 之后的 Git Rebase

git - Android Studio - 无法使用新系统和旧备份文件将我的代码推送到 GitHub Enterprise...怎么办

javascript - 我怎样才能使这段代码在 Ramda.js/lodash 中更像 'functional programming' 风格

javascript - 如何使用 3 个单选按钮并将这些按钮与 div 标签的不同样式相关联?

macos - 如何配置 git 以继承我特定的 $PATH 环境变量?

git log 显示两个分支之间的不同提交,包括共同祖先