#! /usr/bin/perl # # fix-ps-bbox.pl -- pnmtopsが吐いたPSファイルのbounding boxを修正 # # revision history: # 0.0: by Dai ISHIJIMA # # usage: # perl fix-ps-bbox.pl -dpi # # example: # djpeg -grayscale hogehoge.jpg | pnmtops -dpi 300 -scale 0.25 | # perl fix-ps-dpi.pl -300 | perl fix-ps-bbox.pl | # perl halftome.pl -f 60 > hogehoge.ps # $temp="/tmp/x.$$"; open(TMPFIL, "> $temp") || die "can't open $temp\n"; while (<>) { print TMPFIL $_; if ((/([0-9.]+)\s+([0-9.]+)\s+translate/)) { $xoff = $1; $yoff = $2; } if ((/([0-9.]+)\s+([0-9.]+)\s+scale/)) { $xscale = $1; $yscale = $2; } } close(TMPFIL); open(TMPFIL, "< $temp") || die "can't open $temp\n"; while () { if (/^%%BoundingBox/) { print "%%BoundingBox: "; printf "%d %d %d %d\n", int($xoff), int($yoff), int($xoff + $xscale + 1), int($yoff + $yscale + 1); print "% % % "; } print $_; } close(TMPFIL); unlink($temp);