動機:
perlでモジュール(Image::Size)を使わずに画像サイズを取得したい.
やってみた:
以前あれこれやっていたときにファイル自身に情報があることを知っていたのでそれを読み込んで出力する(だけ).
#! /usr/bin/env perl
open(IN, "A.png");
binmode(IN);
read(IN, $buff, 24);
close(IN);
($dummy, $w, $h)= unpack("a16NN", $buff);
print "$w $h\n";
おいらの環境(MBP)ではNと指定する必要があった.
24= 8(PNG識別部)+4(チャンクデータ長)+4(チャンク名称:IHDR)+4(画像幅)+4(画像高さ)
参考:
感謝.
PNGについて
Perlのpackとunpack
0 件のコメント:
コメントを投稿