如何在perl中检索png文件的高度和宽度属性

时间:2013-09-05 08:02:01

标签: perl png

我有一个png文件的链接,我想检索宽度和高度等图像属性。 我以前从未这样做过。我看看GD,但我找不到任何方法来解决我的问题。

这是一个png文件的例子

http://www.kegg.jp/kegg/pathway/map/map00010.png

3 个答案:

答案 0 :(得分:3)

使用Image :: PNG :: Libpng库,您可以:

 use LWP::Simple;
 my $image_data = get 'http://www.kegg.jp/kegg/pathway/map/map00010.png';
 my $png = create_read_struct();
 $png->read_from_scalar ($image_data);
 my $IHDR = $png->get_IHDR();
 print "Image size " . $IHDR{'width'} . " x " . $IHDR{'height'} . "\n";

答案 1 :(得分:3)

use Image::Size;

 my $image_URL="http://www.kegg.jp/kegg/pathway/map/map00010.png";
 my $pngfile="data.pang";
 getstore($image_URL,"$pngfile");         
 my($globe_x, $globe_y) = imgsize("$pngfile");
 print "x is $globe_x, y is $globe_y"; 

结果是

x is 716, y is 1020

答案 2 :(得分:3)

以下是使用Image::Info模块的另一个示例:

use LWP::Simple qw(get);
use Image::Info qw(image_info dim);
my $image_URL = "http://www.kegg.jp/kegg/pathway/map/map00010.png";
my $image_data = get($image_URL);
my($x, $y) = dim(image_info(\$image_data));
print "x is $x, y is $y\n";