最近研究KAGExpress要用到大批量的800*600尺寸图片,而素材来源很多不同的尺寸,提供此方法思路可以快速处理图片。批量处理自行加工。
from PIL import Image
wanlen = 1920
wanwidth = 1080
infile="G:/PythonIO/outImg/001.jpg"
outfile=infile.replace(".","out.")
img = Image.open(infile)
#img.show()
# grayimg = img.convert('L')
# grayimg.save(outfile)
lenmore = True
imgsize = img.size
if (imgsize[0]/imgsize[1] > wanlen/wanwidth ):
print(imgsize)
lenmore = True
relength = int(imgsize[0]*wanwidth/imgsize[1])
# print("len more" + str(relength))
out = img.resize((relength,wanwidth),Image.ANTIALIAS) #抗毛刺
else:
print(imgsize)
lenmore=False
rewidth = int(imgsize[1]*wanlen/imgsize[0])
out = img.resize((wanlen, rewidth),Image.ANTIALIAS)
#裁剪
if lenmore:
left = int(relength/2 - wanlen/2 )
cropped = out.crop((left, 0, left+wanlen, wanwidth))
cropped.save(outfile)
else:
right = int(rewidth/2 - wanwidth/2)
cropped = out.crop((0, right, wanlen, right+wanwidth))
cropped.save(outfile)
cropped.save(outfile)