Python jpg画像を縮小保存しhtmlで表示
タイトル通り、jpg画像を縮小保存しhtmlで表示する。
import glob import os from PIL import Image import os def select_pic(): path = '*.jpg' # 現フォルダ内にあって拡張子がJPGのファイル名を取得 file_list = glob.glob(path) print(file_list) return file_list def process(file_list): print(file_list) #for frameR in file_list: for i in range(len(file_list)): fnameR=file_list[i] print(fnameR) # 元画像の読み込み originalImg = Image.open(fnameR) # 元画像のサイズを取得 width1, height1 = originalImg.size # サムネイル作成 width2=600 height2=width2*height1/width1 originalImg.thumbnail((int(width2), int(height2)), Image.ANTIALIAS) name=fnameR.replace('.jpg','') fnameW='600_'+name+'.jpg' # 保存 originalImg.save(fnameW) def make_html(): filenames = os.listdir('./') imgl=[] ww=[] hh=[] for fname in sorted(filenames): if fname[0:4]=='600_': print(fname) im=Image.open(fname) w=im.size[0] h=im.size[1] imgl=imgl+[fname] ww=ww+[w] hh=hh+[h] f=open('maggie.html','w') print('<html>',file=f) print('<body>',file=f) print('<table>',file=f) n=len(imgl) m=int(n/5)+1 k=-1 for i in range(0,m): print('<tr>',file=f) for j in range(0,5): k=k+1 if k<=n-1: pic=imgl[k] w1=200 h1=int(hh[k]/ww[k]*200) print('<td align="center"><img src="'+pic+'" alt="pic" width="'+str(w1)+'", height="'+str(h1)+'"><br><a href="'+pic+'">'+pic+'<a></td>',file=f) else: print('<td></td>',file=f) print('</tr>',file=f) print('</table>',file=f) print('</body>',file=f) print('</html>',file=f) f.close() def main(): file_list=select_pic() process(file_list) make_html() if __name__ == '__main__': main()
以 上