home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 November / PCWorld_2004-11_cd.bin / software / topware / activeperl / ActivePerl-5.8.4.810-MSWin32-x86.exe / ActivePerl-5.8.4.810 / Perl / bin / tkjpeg.bat < prev    next >
DOS Batch File  |  2004-06-01  |  2KB  |  84 lines

  1. @rem = '--*-Perl-*--
  2. @echo off
  3. if "%OS%" == "Windows_NT" goto WinNT
  4. perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
  5. goto endofperl
  6. :WinNT
  7. perl -x -S %0 %*
  8. if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
  9. if %errorlevel% == 9009 echo You do not have Perl in your PATH.
  10. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
  11. goto endofperl
  12. @rem ';
  13. #!/usr/local/bin/perl -w
  14. #line 15
  15. use strict;
  16. use Tk;
  17. use Tk::JPEG;
  18. use Getopt::Std;
  19. eval { require Tk::PNG; };
  20.  
  21. my $mw  = MainWindow->new();
  22. print "vis=",$mw->visual," d=",$mw->depth,"\n";
  23. my ($vis) = grep(!/\b8\b/,grep(/truecolor/,$mw->visualsavailable));
  24. my @args = ();
  25. if ($vis)
  26.  {
  27.   # print $vis,"\n";
  28.   $mw->destroy;
  29.   $mw = MainWindow->new(-visual => $vis);
  30.  }
  31. else
  32.  {
  33.   @args = (-palette => '4/4/4');
  34.  }
  35. # print "vis=",$mw->visual," d=",$mw->depth,' "',join('" "',$mw->visualsavailable),"\"\n";
  36. my %opt;
  37. getopts('f:',\%opt);
  38. if ($opt{'f'})
  39.  {
  40.   push(@args,'-format' => $opt{'f'});
  41.  }
  42. unless (@ARGV)
  43.  {
  44.   warn "usage $0 [-f format] <imagefile>\n";
  45.   exit 1;
  46.  }
  47. my $file = shift;
  48. my $image = $mw->Photo(-file => $file, @args);
  49. #print join(' ',$image->formats),"\n";
  50. print "w=",$image->width," h=",$image->height,"\n";
  51. $mw->Label(-image => $image)->pack(-expand => 1, -fill => 'both');
  52. $mw->Button(-text => 'Quit', -command => [destroy => $mw])->pack;
  53. MainLoop;
  54.  
  55. __END__
  56.  
  57. =head1 NAME
  58.  
  59. tkjpeg - simple JPEG viewer using perl/Tk
  60.  
  61. =head1 SYNOPSIS
  62.  
  63.   tkjpeg imagefile.jpg
  64.  
  65. =head1 DESCRIPTION
  66.  
  67. Very simplistic image viewer that loads JPEG image, (well actually
  68. anything for which Photo has a handler) and puts it into a
  69. Label for display.
  70.  
  71. It tries to find a fullcolour visual to use if display is deeper than
  72. 8-bit. (On 8-bit it uses a 4/4/4 palette.)
  73.  
  74. =head1 AUTHOR
  75.  
  76. Nick Ing-Simmons <nick@ing-simmons.net>
  77.  
  78. =cut
  79.  
  80.  
  81.  
  82. __END__
  83. :endofperl
  84.