Added thumbnail cropping gravity
This commit is contained in:
@@ -53,6 +53,8 @@ folder is the root folder of the image album (defaults to current folder).'''
|
|||||||
help="Recurse in to subfolders")
|
help="Recurse in to subfolders")
|
||||||
parser.add_argument("-w",type=int,dest="width",default=850,
|
parser.add_argument("-w",type=int,dest="width",default=850,
|
||||||
help="Medium image size (Default: %(default)s)")
|
help="Medium image size (Default: %(default)s)")
|
||||||
|
parser.add_argument("--gravity",type=str,dest="gravity",default="Center",
|
||||||
|
help="ImageMagick gravity for cropping. (Default: %(default)s)")
|
||||||
parser.add_argument("startpath",type=str,action="store",default=os.path.abspath('.'),nargs='?',
|
parser.add_argument("startpath",type=str,action="store",default=os.path.abspath('.'),nargs='?',
|
||||||
help="Start path for recursion")
|
help="Start path for recursion")
|
||||||
options=parser.parse_args()
|
options=parser.parse_args()
|
||||||
|
|||||||
12
Qalbum.py
12
Qalbum.py
@@ -268,7 +268,7 @@ def createthumbs(path,list,options):
|
|||||||
create_medium_bitmap(inpath,outmedium,r,link=options.link,vector=vectorsearch.match(i))
|
create_medium_bitmap(inpath,outmedium,r,link=options.link,vector=vectorsearch.match(i))
|
||||||
if (not os.path.exists(outthumb)):
|
if (not os.path.exists(outthumb)):
|
||||||
print('Thumbnail.. '+i+' '+str(n)+'/'+str(nsum))
|
print('Thumbnail.. '+i+' '+str(n)+'/'+str(nsum))
|
||||||
create_thumb_bitmap(outmedium,outthumb,vector=vectorsearch.match(i))
|
create_thumb_bitmap(outmedium,outthumb,vector=vectorsearch.match(i),gravity=options.gravity)
|
||||||
n+=1
|
n+=1
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -284,11 +284,11 @@ def create_medium_bitmap(infile,outfile,r,link=False,vector=False):
|
|||||||
convp=subprocess.call(convargs)
|
convp=subprocess.call(convargs)
|
||||||
return
|
return
|
||||||
|
|
||||||
def create_thumb_bitmap(infile,outfile,vector=False):
|
def create_thumb_bitmap(infile,outfile,vector=False,gravity='Center'):
|
||||||
if vector:
|
if vector:
|
||||||
convargs=['convert','-density','300x300',infile,'-background','white','-flatten','-thumbnail','90x90^','-gravity','Center','-crop','90x90+0+0','+repage','-quality','75',outfile]
|
convargs=['convert','-density','300x300',infile,'-background','white','-flatten','-thumbnail','90x90^','-gravity',gravity,'-crop','90x90+0+0','+repage','-quality','75',outfile]
|
||||||
else:
|
else:
|
||||||
convargs=['convert','-define','jpeg:size=300x300',infile,'-background','white','-flatten','-thumbnail','90x90^','-gravity','Center','-crop','90x90+0+0','+repage','-quality','75',outfile]
|
convargs=['convert','-define','jpeg:size=300x300',infile,'-background','white','-flatten','-thumbnail','90x90^','-gravity',gravity,'-crop','90x90+0+0','+repage','-quality','75',outfile]
|
||||||
convp=subprocess.call(convargs)
|
convp=subprocess.call(convargs)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -444,6 +444,8 @@ def setupoptions():
|
|||||||
help="File name for info files in all folders. (Default: %(default)s)")
|
help="File name for info files in all folders. (Default: %(default)s)")
|
||||||
parser.add_argument("-g",type=str,dest="gallery",default="Gallery",
|
parser.add_argument("-g",type=str,dest="gallery",default="Gallery",
|
||||||
help="Name for the root gallery (Default: %(default)s)")
|
help="Name for the root gallery (Default: %(default)s)")
|
||||||
|
parser.add_argument("--gravity",type=str,dest="gravity",default="Center",
|
||||||
|
help="ImageMagick gravity for cropping. (Default: %(default)s)")
|
||||||
parser.add_argument("-w",type=int,dest="width",default=850,
|
parser.add_argument("-w",type=int,dest="width",default=850,
|
||||||
help="Medium image size (Default: %(default)s)")
|
help="Medium image size (Default: %(default)s)")
|
||||||
parser.add_argument("-p",type=str,dest="parent",
|
parser.add_argument("-p",type=str,dest="parent",
|
||||||
@@ -467,6 +469,8 @@ def setupdefaultoptions(options):
|
|||||||
options.infofile="info.txt"
|
options.infofile="info.txt"
|
||||||
if 'gallery' not in options:
|
if 'gallery' not in options:
|
||||||
options.gallery="Gallery"
|
options.gallery="Gallery"
|
||||||
|
if 'gravity' not in options:
|
||||||
|
options.gravity="Center"
|
||||||
if 'link' not in options:
|
if 'link' not in options:
|
||||||
options.link=False
|
options.link=False
|
||||||
if 'recursive' not in options:
|
if 'recursive' not in options:
|
||||||
|
|||||||
Reference in New Issue
Block a user