Browse Source

Update to new 2.0 version based on PHP

tags/2.0^0
Brielle Bruns 9 months ago
parent
commit
6ab95c99fc
8 changed files with 98 additions and 67 deletions
  1. +3
    -1
      .gitignore
  2. BIN
      Convert Images.lnk
  3. +11
    -0
      bin/config.inc.php
  4. +0
    -42
      bin/config.txt
  5. +37
    -0
      bin/functions.inc.php
  6. +45
    -0
      bin/process-images.php
  7. +0
    -22
      bin/process-images.sh
  8. +2
    -2
      bin/run-conversion.cmd

+ 3
- 1
.gitignore View File

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

BIN
Convert Images.lnk View File


+ 11
- 0
bin/config.inc.php View File

@@ -0,0 +1,11 @@
<?php

// Configuration File

// Desired Image Dimensions
$imgWidth = "1600";
$imgHeight = "0";
$imgQuality = "75";


?>

+ 0
- 42
bin/config.txt 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
- 0
bin/functions.inc.php 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
- 0
bin/process-images.php 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("");
?>

+ 0
- 22
bin/process-images.sh 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

+ 2
- 2
bin/run-conversion.cmd View File

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

Loading…
Cancel
Save