Perl:将(x,y)像素绘制到单色位图的推荐方法
对于家庭项目,我需要将 (x,y) 坐标绘制到 400x400 黑白位图上。
您会推荐哪种 perl 模块?哪种图像格式(GIF?、PNG?其他?)最容易在 OS X、Windows、Linux 上处理?
编辑 我的解决方案,基于 GD,由 Brian Agnew 推荐
use strict;
use warnings;
use GD;
my $BitMap = GD::Image->new(400,400);
my $white = $BitMap->colorAllocate(255,255,255);
my $black = $BitMap->colorAllocate(0,0,0);
# Frame the BitMap
$BitMap->rectangle(0,0,399,399,$black);
# Transparent image, white background color
$BitMap->transparent($white);
# plot some, just to show it works #
for my $x (0..100) {
for my $y (0 .. 100) {
$BitMap->setPixel(250+100*sin($x)-$y,150+125*cos($x)+$y,$black);
}
}
# write png-format to file
open my $fh,">","test.png" or die "$!";
binmode $fh;
print $fh $BitMap->png;
close($fh);
For a home project I need to plot (x,y) coordinates onto a 400x400 black and white-bitmap.
What perl module would you recoment and what image format (GIF?, PNG? other?) would be easiest to handle on OS X, Windows, Linux?
EDIT My solution, based on GD, as recomended by Brian Agnew
use strict;
use warnings;
use GD;
my $BitMap = GD::Image->new(400,400);
my $white = $BitMap->colorAllocate(255,255,255);
my $black = $BitMap->colorAllocate(0,0,0);
# Frame the BitMap
$BitMap->rectangle(0,0,399,399,$black);
# Transparent image, white background color
$BitMap->transparent($white);
# plot some, just to show it works #
for my $x (0..100) {
for my $y (0 .. 100) {
$BitMap->setPixel(250+100*sin($x)-$y,150+125*cos($x)+$y,$black);
}
}
# write png-format to file
open my $fh,">","test.png" or die "$!";
binmode $fh;
print $fh $BitMap->png;
close($fh);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查看GD 模块(它与GD 库)。 它使创建图形变得非常简单,并且具有多种输出格式,包括 PNG 和 GIF。
Have a look at the GD module (which interfaces to the GD library). It makes creating graphics pretty trivial and has a wide range of output formats, including PNG and GIF.