Initial commit
This commit is contained in:
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal 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
6
convert-notes.txt
Normal 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
87
convert.py
Normal 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()
|
||||
0
full-res-files/DELETE-ME.txt
Normal file
0
full-res-files/DELETE-ME.txt
Normal file
0
web-files/DELETE-ME.txt
Normal file
0
web-files/DELETE-ME.txt
Normal file
Reference in New Issue
Block a user