2009-02-28 (土)
*PDRのキャンバスをスケール変換するスクリプト
ParaDrawのキャンバスを中身ごと小さくするのって意外と面倒.全選択して数値入力ツールで縮小してから,キャンバスの大きさを変えないといけない.さらに,縮小が選択範囲に対してなので,角にダミーの点とかを置いてやらないと,位置が変わってしまいます….
PDRの中を見たら,ただのテキストだったので,簡単にいじれそう.というわけで,スクリプト書いてざくっと変換.
#!/usr/bin/perl $scale=0.1; $ifile=$ARGV[0]; $ofile=$ARGV[0]; exit(0) if $ifile!~/\.pdr$/i; $ofile=~s/\.pdr/_.pdr/i; open(IN,"< $ifile"); open(OUT,"> $ofile"); $_=<IN>; print OUT; $_=<IN>; s/^(\d+),(\d+)/"".int($1*$scale).",".int($2*$scale)/e; print OUT; while(<IN>) { s/^(\d+),(\d+),(\d+)$/$1.",".int($2*$scale).",".int($3*$scale)/e; print OUT; } close(IN); close(OUT);
….本当はちゃんとした方法がありそうですが,とりあえず解決.