以下是为郭景霞写的拼图片小脚本
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import os
import math
from PIL import Image,ImageDraw,ImageFontif __name__ == '__main__' :path = 'D:/Recombination/inputImg/'pall,xyRatio = [], []for i in os.listdir(path):im=Image.open(path+i)(x,y) = im.sizepall.append(im.size)xyRatio.append(x/(1.00000*y))if abs(1.*max(xyRatio)/(1.*min(xyRatio))-1)> 0.05:print '横竖比差异超过5%,影响整体拼图效果,本次退出。请重新调整尺寸it()HorW=(raw_input("请输入你的排版方式,H竖向,W横向 H or W ?,然后回车n")).lower()#perRowCount 为每行多少字perRowCount=int(raw_input("请输入该方向需要多少张图,然后回车n"))#fileCount为多少文件数fileCount= len(pall)#print perRowCount,fileCount,il(fileCount*1.00/int(perRowCount)))xlist,ylist = [],[]for xsize , ysize in pall :ylist.append(ysize)xlist.append(xsize)#ymin ,xmin 文件中高宽的最小值ymin ,xmin = min(ylist),min(xlist)if HorW == 'h':times = 0#rowCount为多少行数rowCount = il(fileCount*1.0000/perRowCount))#设置生成的新图片尺寸大小newImg = w("RGBA",(xmin*rowCount,ymin*perRowCount),(217,214,203))rowCount_times = rowCountfor i in os.listdir(path):print i ,timesimgFrom = Image.open(path + i)imgFrom = size((xmin,ymin))if((times%perRowCount == 0) ):rowCount_times = rowCount_times - 1y1 = ymin *(1+ times%perRowCount)y0 = ymin *(0+ times%perRowCount)x1 = (rowCount_times+1) * xminx0 = (rowCount_times+0) * xminnewImg.p((0,0,xmin,ymin)),(x0,y0,x1,y1))times += 1if HorW == 'w':#colstep 第x列,colstep = perRowCounttimes = 0#rowCount为多少行数rowCount = il(fileCount*1.0000/perRowCount))#设置生成的新图片尺寸大小newImg = w("RGBA",(xmin*perRowCount ,ymin*rowCount),(217,214,203))for i in os.listdir(path):print iimgFrom = Image.open(path + i)imgFrom = size((xmin,ymin))colstep = times/perRowCounty1 = (colstep+1) * yminx1 = (perRowCount -times%perRowCount) * xminy0 = (colstep+0) * yminx0 = (perRowCount -times%perRowCount-1) * xmin#newImg.p((0,0,xmin,ymin)),(0,0,xmin,ymin))print x0,y0,x1,y1newImg.p((0,0,xmin,ymin)),(x0,y0,x1,y1))times += 1newImg.show()newImg.save("D:/Recombination/ImgnewImg.png","PNG")
本文发布于:2024-02-02 01:56:03,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170681389840665.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |