286 |
|
my $fcimg = "$td/$pal.hdr"; |
287 |
|
my $lbimg = "$td/${pal}_label.hdr"; |
288 |
|
system "psign -cb 0 0 0 -cf 1 1 1 -h 20 $pal > $lbimg"; |
289 |
– |
|
289 |
|
my $cmd = qq[pcomb $pc0args -e "v=x/256"]; |
290 |
|
$cmd .= qq[ -e "ro=clip(${pal}_red(v));go=clip(${pal}_grn(v));bo=clip(${pal}_blu(v))"]; |
291 |
|
$cmd .= qq[ -x 256 -y 30 > $fcimg]; |
427 |
|
my $pscmd = qq[psign -s -.15 -cf 1 1 1 -cb 0 0 0 -h $cheight]; |
428 |
|
for (my $y = 0; $y < $cropWH[1]; $y++) { |
429 |
|
my $ymatch = grep /^$y$/, @ypos; |
430 |
+ |
my $cmd2 = qq[pcompos -b 0 0 0 -x $cropWH[0]]; |
431 |
|
for (my $x = 0; $x < $cropWH[0]; $x++) { |
432 |
|
my $sampv = <FHsamp>; |
433 |
|
next if (! $ymatch); |
454 |
|
$sampv .= '0'; |
455 |
|
} |
456 |
|
} # else use exponent format |
457 |
< |
$cmd1 .= qq[ =00 "!$pscmd $sampv" $x ] . ($cropWH[1]-1 - $y); |
457 |
> |
$cmd2 .= qq[ =0- "!$pscmd $sampv" $x 0]; |
458 |
|
} |
459 |
+ |
next if (! $ymatch); |
460 |
+ |
my $rowpic = "$td/mrow$y.hdr"; |
461 |
+ |
system "$cmd2 > $rowpic"; |
462 |
+ |
$cmd1 .= qq[ =-0 $rowpic 0 ] . ($cropWH[1]-1 - $y); |
463 |
|
} |
464 |
|
close(FHsamp); |
465 |
|
my $overpic = "$td/overlay.hdr"; |
466 |
|
system "$cmd1 > $overpic"; |
463 |
– |
die "Error creating overlay matrix image\n" if ($?); |
467 |
|
my $overinvpic = "$td/overinv.hdr"; |
468 |
|
system qq[pcomb -e "lo=1-gi(1)" $overpic > $overinvpic]; |
469 |
|
my $xleft = $legwidth + $overlayRect[0]; |