Initial commit

This commit is contained in:
2018-11-20 07:53:01 -05:00
commit 007a0f89cc
5 changed files with 101 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
full-res-files/*
web-files/*
!full-res-files/DELETE-ME.txt
!web-files/DELETE-ME.txt
imagemagick/*
profile.icc
imagemagick.zip
imagemagick.tar.gz

6
convert-notes.txt Normal file
View File

@@ -0,0 +1,6 @@
.\ImageMagick-7.0.8-14-portable-Q16-x64\convert.exe ".\2018 Bass Family Fall004.jpg" -resize "1500x" -quality 60 -depth 24 test.jpg
-strip gets ride of details like camera fstop etc but it also removes the color profile resulting in a washed out look
If you have the AdobeRGB1998.icc file this is the best conversion:
.\ImageMagick-7.0.8-14-portable-Q16-x64\convert.exe ".\2018 Bass Family Fall004.jpg" -resize "1500x" -quality 60 -depth 24 -strip -profile ".\AdobeRGB1998.icc" test.jpg

87
convert.py Normal file
View File

@@ -0,0 +1,87 @@
import os
import sys
import zipfile
import urllib.request
import tarfile
inputFolder = 'full-res-files'
outputFolder = 'web-files'
magickHome = ""
dyldLibrary = ""
def clearScreen():
os.system('cls' if os.name == 'nt' else 'clear')
def convertFilesInInput():
#rename files with spaces
print("Renaming any files in the input folder that have a space and replacing that with a dash.")
for filename in os.listdir(inputFolder):
#os.path.join needed to include path when renaming
os.rename(os.path.join(inputFolder,filename), os.path.join(inputFolder,filename.replace(' ', '-')))
for filename in os.listdir(inputFolder):
print("Converting " + filename)
#os.path.splitext(filename)[0] gets rid of file extension if you want a different extension
getProfileCmd = getImagemagickExe() + " " + getInputPath() + filename + " profile.icc"
convertCmd = getImagemagickExe() + " " + getInputPath() + filename + " -resize \"1500x\" -quality 60 -depth 24 -strip -profile \"profile.icc\" " + getOutputPath() + filename
if(os.name == "nt"):
os.system(getProfileCmd)
os.system(convertCmd)
else:
os.system(magickHome + dyldLibrary + getProfileCmd)
os.system(magickHome + dyldLibrary + convertCmd)
os.remove("profile.icc")
def downloadImagemagick():
if not os.path.isfile(getImagemagickExe()):
print("ImageMagick does not exist. Downloading now...")
if(os.name == "nt"):
urllib.request.urlretrieve ("https://imagemagick.org/download/binaries/ImageMagick-7.0.8-14-portable-Q16-x64.zip", "imagemagick.zip")
zipfile.ZipFile("imagemagick.zip","r").extractall(getImagemagickPath())
os.remove("imagemagick.zip")
elif(sys.platform == "darwin"):
urllib.request.urlretrieve ("https://imagemagick.org/download/binaries/ImageMagick-x86_64-apple-darwin17.7.0.tar.gz", "imagemagick.tar.gz")
tarfile.open("imagemagick.tar.gz","r:gz").extractall(getImagemagickPath())
os.remove("imagemagick.tar.gz")
else:
print("ImageMagick already downloaded.")
def getImagemagickPath():
if(os.name == "nt"):
return "imagemagick\\windows\\"
elif(sys.platform == "darwin"):
return "imagemagick/osx/"
else:
returnErrorAndExit("Your os is not supported. Try using Windows or OSX")
def getImagemagickExe():
if(os.name == "nt"):
return getImagemagickPath() + "\\convert.exe"
elif(sys.platform == "darwin"):
currentDir = os.path.dirname(os.path.realpath(__file__))
global magickHome
magickHome = "export MAGICK_HOME=" + currentDir + getImagemagickPath() + ";"
global dyldLibrary
dyldLibrary = "export DYLD_LIBRARY_PATH=$MAGICK_HOME/lib;"
return getImagemagickPath() + "/bin/convert"
else:
returnErrorAndExit("Your os is not supported. Try using Windows or OSX")
def getOutputPath():
if(os.name == "nt"):
return outputFolder + "\\"
else:
return outputFolder + "/"
def getInputPath():
if(os.name == "nt"):
return inputFolder + "\\"
else:
return inputFolder + "/"
def returnErrorAndExit(message):
input(message)
sys.exit()
downloadImagemagick()
convertFilesInInput()

View File

0
web-files/DELETE-ME.txt Normal file
View File