[Perl]Test tool for exacting image with GraphicsMagick
2011-01-07 18:40
369 查看
最新版的代码请见GitHub: https://github.com/thinkhy/PerlNight/tree/master/graphicsMagicTest
######################################################################
# file: gm.pl
# brief: Test tool for exacting image with GraphicsMagick
# author: thinkhy
# date: 11/01/07
######################################################################
use File::Glob ':glob';
use strict;
my @files = glob "D://抽图图片//抽图出错图片189张//*.eps";
my $logfile = "D://抽图图片//抽图出错图片189张//extractImage.log";
sub getTime
{
my $time = shift || time();
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time);
$year += 1900;
$mon ++;
$min = '0'.$min if length($min) < 2;
$sec = '0'.$sec if length($sec) < 2;
$mon = '0'.$mon if length($mon) < 2;
$mday = '0'.$mday if length($mday) < 2;
$hour = '0'.$hour if length($hour) < 2;
my $weekday = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday];
return { 'second' => $sec,
'minute' => $min,
'hour' => $hour,
'day' => $mday,
'month' => $mon,
'year' => $year,
'weekNo' => $wday,
'wday' => $weekday,
'yday' => $yday,
'date' => "$year-$mon-$mday"
};
}
sub writelog
{
my $str = shift(@_);
open LOG, ">>$logfile" or die "Could not open my.log: $!";;
my $tt = getTime();
my $t = $tt->{'year'}."//".$tt->{'month'}."//".$tt->{'day'}." $tt->{'hour'}:$tt->{'minute'}:$tt->{'second'} ";
print LOG $t.": ".$str;
close LOG;
}
my $file;
my $fault = 0;
#foreach $file (in $files)
my $cnt = @files;
print "共转换".$cnt."个文件/n/n";
foreach(@files)
{
my $src = $_;
chomp($src);
my($dirpath,$basename,$extname) = ($src =~ /^((?:.*[:////])?)(.*)(/.[^.]*$)/s);
my $outputFile = $dirpath.$basename.".jpg";
print $outputFile."/n";
my $cmd = "gm convert "."/"".$src."/""." ".$outputFile;
print $cmd;
my $result = `$cmd`
or { $fault++, writelog($src." 抽取失败/n")};
print $result;
}
print "共转换文件".$cnt."个,转换成功:".($cnt-$fault)."个/n";
__END__
######################################################################
# file: gm.pl
# brief: Test tool for exacting image with GraphicsMagick
# author: thinkhy
# date: 11/01/07
######################################################################
use File::Glob ':glob';
use strict;
my @files = glob "D://抽图图片//抽图出错图片189张//*.eps";
my $logfile = "D://抽图图片//抽图出错图片189张//extractImage.log";
sub getTime
{
my $time = shift || time();
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time);
$year += 1900;
$mon ++;
$min = '0'.$min if length($min) < 2;
$sec = '0'.$sec if length($sec) < 2;
$mon = '0'.$mon if length($mon) < 2;
$mday = '0'.$mday if length($mday) < 2;
$hour = '0'.$hour if length($hour) < 2;
my $weekday = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday];
return { 'second' => $sec,
'minute' => $min,
'hour' => $hour,
'day' => $mday,
'month' => $mon,
'year' => $year,
'weekNo' => $wday,
'wday' => $weekday,
'yday' => $yday,
'date' => "$year-$mon-$mday"
};
}
sub writelog
{
my $str = shift(@_);
open LOG, ">>$logfile" or die "Could not open my.log: $!";;
my $tt = getTime();
my $t = $tt->{'year'}."//".$tt->{'month'}."//".$tt->{'day'}." $tt->{'hour'}:$tt->{'minute'}:$tt->{'second'} ";
print LOG $t.": ".$str;
close LOG;
}
my $file;
my $fault = 0;
#foreach $file (in $files)
my $cnt = @files;
print "共转换".$cnt."个文件/n/n";
foreach(@files)
{
my $src = $_;
chomp($src);
my($dirpath,$basename,$extname) = ($src =~ /^((?:.*[:////])?)(.*)(/.[^.]*$)/s);
my $outputFile = $dirpath.$basename.".jpg";
print $outputFile."/n";
my $cmd = "gm convert "."/"".$src."/""." ".$outputFile;
print $cmd;
my $result = `$cmd`
or { $fault++, writelog($src." 抽取失败/n")};
print $result;
}
print "共转换文件".$cnt."个,转换成功:".($cnt-$fault)."个/n";
__END__
相关文章推荐
- Magick++: NoDecodeDelegateForThisImageFormat with ICO file
- Vim 7.4.1952 with Python/Ruby/Lua/Perl/C Syntax built for Ubuntu 16.04 x86_64
- for test code editer with js
- ImageMagick for java 使用Jmagick压缩高质量图片
- jquery crossdomain post plugin i changed bit test code suite for my env,due to the windows env is not familiar with github operation,i didn't forked form the original resposeritoy
- Learning Spatial Regularization with Image-level Supervisions for Multi-label Image Classification
- Error:Execution failed for task ':testPic:transformResourcesWithMergeJavaResForDebug'.
- Visual tool for developers working with the Open XML Formats
- Some 3D Graphics (rgl) for Classification with Splines and Logistic Regression (from The Elements of Statistical Learning)(转)
- More 3D Graphics (rgl) for Classification with Local Logistic Regression and Kernel Density Estimates (from The Elements of Statistical Learning)(转)
- SDWebImage [UIButton setImageWithURL:(NSURL *) forState:(UIControlState)] 的bug
- 图片镜像处理以及ImageMagick介绍,Mirror images with imagemagick
- 警告: No mapping found for HTTP request with URI [/Springmvc/test] in DispatcherServlet with dispatche
- YII2出现“Either GD PHP extension with FreeType support or ImageMagick PHP extension..."的解决办法
- Programming Visual Basic 2008: Build .NET 3.5 Applications with Microsoft's RAD Tool for Business
- Get Started With Continuous Integration For Your .NET (C#) Projects - Test Your Project
- Building image with support for 3g/4g module and usb tethering
- PHP Unit Testing & Mock Objects with SimpleTest plugin for Eclipse
- There is no Action mapped for namespace [/] and action name [struts2Test!test] associated with conte
- Aspect-Oriented Programming with the e Verification Language: A Pragmatic Guide for Testbench Develo