Update to new 2.0 version based on PHP

master 2.0
Brie Bruns 2020-01-10 12:53:32 -07:00
parent ba7b0667f0
commit 6ab95c99fc
8 changed files with 98 additions and 67 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
bin/GraphicsMagick-1.3.25-Q8/ bin/GraphicsMagick-1.3.25-Q8/
bin/ext/
bin/*.exe bin/*.exe
bin/*.dll bin/*.dll
bin/php.ini

Binary file not shown.

11
bin/config.inc.php Normal file
View File

@ -0,0 +1,11 @@
<?php
// Configuration File
// Desired Image Dimensions
$imgWidth = "1600";
$imgHeight = "0";
$imgQuality = "75";
?>

View File

@ -1,42 +0,0 @@
#=-=-=-= DON'T MESS WITH THIS SECTION =-=-=-=
# These are locations of where stuff is located on disk.
# Normally, you don't need to change this UNLESS you move the
# directory outside of C:\
MAINPREFIX="/C/imageproc"
BINLOC="${MAINPREFIX}/bin"
RAWLOC="${MAINPREFIX}/raw"
RENAMELOC="${MAINPREFIX}/renamed"
RESIZELOC="${MAINPREFIX}/resized"
# Path prefix. Best not to change this
# unless you know what your doing.
PATH="${BINLOC}:."
# Program Version
PROG_VERSION="1.2-04052017"
# Version of graphicsmagick to use
GM_VERSION="GraphicsMagick-1.3.34-Q8"
#=-=-=-= END SECTION =-=-=-=
# Here is the commonly changed preferences
# The end resulting image size. Can be specified
# as just the long length (1600x) or as the desired
# max dimensions (1600x1050).
IMG_RESIZE="1600x"
# Quality setting. Lower number reduces image size
# at the expense of quality. 0 is lowest, 100 highest
# and 75 is the default.
IMG_QUALITY="75"
# Custom image options, normally this is blank, but we
# can specify things like sharpness masks if we want.
#IMG_OPTIONS="-unsharp 2x0.5+0.7+0"
IMG_OPTIONS="+profile \"*\""
# Number to start the name at. Commonly
# set to "1"
STARTNUM="1"

37
bin/functions.inc.php Normal file
View File

@ -0,0 +1,37 @@
<?php
function autorotate(Imagick $image)
{
switch ($image->getImageOrientation()) {
case Imagick::ORIENTATION_TOPLEFT:
break;
case Imagick::ORIENTATION_TOPRIGHT:
$image->flopImage();
break;
case Imagick::ORIENTATION_BOTTOMRIGHT:
$image->rotateImage("#000", 180);
break;
case Imagick::ORIENTATION_BOTTOMLEFT:
$image->flopImage();
$image->rotateImage("#000", 180);
break;
case Imagick::ORIENTATION_LEFTTOP:
$image->flopImage();
$image->rotateImage("#000", -90);
break;
case Imagick::ORIENTATION_RIGHTTOP:
$image->rotateImage("#000", 90);
break;
case Imagick::ORIENTATION_RIGHTBOTTOM:
$image->flopImage();
$image->rotateImage("#000", 90);
break;
case Imagick::ORIENTATION_LEFTBOTTOM:
$image->rotateImage("#000", -90);
break;
default: // Invalid orientation
break;
}
$image->setImageOrientation(Imagick::ORIENTATION_TOPLEFT);
return $image;
}
?>

45
bin/process-images.php Normal file
View File

@ -0,0 +1,45 @@
<?php
$time_start = microtime(true);
include_once("functions.inc.php");
include_once("config.inc.php");
//$img = new Imagick('/path/to/file');
//autorotate($img);
//$img->stripImage(); // if you want to get rid of all EXIF data
//$img->writeImage();
$progVersion="v2.0-PHP";
$phpVersion=phpversion();
$rawDir="raw/";
$outDir="resized/";
echo "ImageProc ".$progVersion." - PHP ".$phpVersion."\n\n\n";
$dateInput=readline("Current Date (press enter for ".date('mdy')."): ");
$startNumInput=readline("Starting Number: ");
if (empty($dateInput)) {
$dateInput=date('mdy');
}
if (empty($startNumInput)) {
$startNumInput="1";
}
echo "\n";
foreach(glob($rawDir.'*.{jpg,JPG,jpeg,JPEG}',GLOB_BRACE) as $filename){
$outputName=basename($filename);
$outImgFile=sprintf("%s/%s-%04d.jpg",$outDir, $dateInput, $startNumInput);
echo "#";
$img=new Imagick($filename);
autorotate($img);
$img->stripImage();
// This is kinda slow sometimes, so we'll try using scaleImage instead
//$img->resizeImage($imgWidth, $imgHeight, imagick::FILTER_CATROM, 1);
$img->scaleImage($imgWidth, $imgHeight, FALSE);
$img->setImageCompressionQuality($imgQuality);
$img->writeImage($outImgFile);
$img->destroy();
$startNumInput++;
}
echo "\n\nTotal Runtime: ".ceil((microtime(true) - $time_start))." seconds";
echo "\n";
readline("");
?>

View File

@ -1,22 +0,0 @@
#!/bin/bash
. ./config.txt
echo -e "eBay Image Processor - Version ${PROG_VERSION}\n\n"
echo -n "Please enter current date: "
read CURRDATE
#CURRDATE="030413"
echo "Beginning rename..."
${BINLOC}/find ${RAWLOC} -iname '*.jpg' |\
${BINLOC}/gawk -v resizeloc=${RESIZELOC} -v currdate=${CURRDATE} -v startnum=${STARTNUM} -v binloc=${BINLOC} 'BEGIN{ a=startnum }{ printf "%s/cp -f \"%s\" \"%s/%s_%04d.jpg\"\n", binloc,$0,resizeloc,currdate,a++ }' \
| ${BINLOC}/bash
#echo "Copying..."
#${BINLOC}/cp -f ${RENAMELOC}/* ${RESIZELOC}/
echo "Resizing..."
time ${BINLOC}/${GM_VERSION}/gm mogrify -resize ${IMG_RESIZE} -quality ${IMG_QUALITY} ${IMG_OPTIONS} ${RESIZELOC}/*.jpg
echo "Done!"
echo "Press enter to close."
read DUMMYVAR

View File

@ -1,3 +1,3 @@
@ECHO OFF @ECHO OFF
set PATH=C:\imageproc\bin;%PATH%;%CD% set PATH=C:\imageproc-php\bin;%PATH%;%CD%
bash.exe process-images.sh bin\php.exe bin\process-images.php