Perl语言最重要的特性是Perl内部集成了正则表达式的功能,以及第三方代码库CPAN,使的其主要被大家用来处理文本、报表等。对于用perl绘图可能大部分人都很陌生。但是,有一个工具大家肯定不陌生-“Circos”,其是基于perl语言建立的强大的绘图工具,被广泛应用于生物信息以及其他领域。

Perl绘图库主要有诸如SVG、GD等,下面以GD为例,给大家简单介绍如何用perl来绘制一个图形:


#!/usr/bin/perl -w
use warnings;
use strict;
use autodie;
use GD;
 
# 创建图像
my $im = new GD::Image(100,100);
 
# 分配颜色
my $white = $im->colorAllocate(255,255,255);
my $black = $im->colorAllocate(0,0,0);       
my $red = $im->colorAllocate(255,0,0);      
my $blue = $im->colorAllocate(0,0,255);
 
# 透明+白色交错背景
$im->transparent($white);
$im->interlaced('true');
 
# 设置黑框
$im->rectangle(0,0,99,99,$black);
 
# 绘制蓝色椭圆
$im->arc(50,50,95,75,0,360,$blue);
 
# 填充红色
$im->fill(50,50,$red);
 
# 确保二进制写入
binmode STDOUT;
 
# 转换成PNG输出
open my $out, ">", "test.png";
print $out $im->png;
close($out);

参考资料:

1.https://metacpan.org/pod/GD

2.https://github.com/libgd/libgd

3.http://libgd.org/