使用Bio::Tree::Draw::Cladogram 输出的 EPS 文档在很多 EPS 查看软件(如Windows下面的ACDsee,gsView等)中不能打开,经查是由于 BoundingBox 出现浮点数所致,具体设计的代码为 Cladogram.pm 的 new 方法和 print 方法,简便起见,可以在原先的 443 行代码前面添加两行代码,以解决该问题。

 

如下所示 :

[perl]

print $INFO “%!PS-Adobe-\n”;
$width = int($width + 1); # BoundingBox should be int
$height = int($height +1);
print $INFO “%%BoundingBox: 0 0 “, $width, ” “, $height, “\n”;
print $INFO “1 setlinewidth\n”;
print $INFO “/$font findfont\n”;
print $INFO “$size scalefont\n”;
print $INFO “setfont\n”;

[/perl]

经测试,修改此处后,生成的 EPS 文档不会再由于该错误无法打开和查看。

作者简介

Chun-Hui Gao is a Research Associate at Huazhong Agricultural University.

重复使用

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The source code is licensed under MIT. The full source is available at https://github.com/yihui/hugo-prose.

欢迎修订

如果您发现本文里含有任何错误(包括错别字和标点符号),欢迎在本站的 GitHub 项目里提交修订意见。

引用本文

如果您使用了本文的内容,请按照以下方式引用:

gaoch (2013). 修复Bio::Tree::Draw::Cladogram 输出EPS BoundingBox错误的问题. BIO-SPRING. /post/2013/12/25/2013-12-25-fix-eps-boundingbox-error/

BibTeX citation

@misc{
  title = "修复Bio::Tree::Draw::Cladogram 输出EPS BoundingBox错误的问题",
  author = "gaoch",
  year = "2013",
  journal = "BIO-SPRING",
  note = "/post/2013/12/25/2013-12-25-fix-eps-boundingbox-error/"
}