import os
from PIL import Image, ImageFont
class ImageMerger():
def __init__(self):
self.font = ImageFont.truetype("font\\simhei.ttf", 18)
def merge(self, src_img_path, des_width, des_height=None):
if os.path.exists(src_img_path) is False:
print("图片不存在", src_img_path)
return
src_im = Image.open(src_img_path)
orate = src_im.width / src_im.height;
width = des_width;
height = des_height;
if des_height is None:
height = width / orate;
height = int(height)
# print(width, height)
if src_im.width > src_im.height:
re_width = width
re_height = re_width / orate;
re_width = int(re_width)
re_height = int(re_height)
src_im = src_im.resize((re_width, re_height), Image.ANTIALIAS)
else:
re_height = height;
re_width = orate * re_height
re_width = int(re_width)
src_im = src_im.resize((re_width, re_height), Image.ANTIALIAS)
# print("调整之后", src_im.width, src_im.height)
des_im = Image.new('RGB', (width, height), 0xffffff)
box = self.get_box_pos(width, height, src_im.width, src_im.height)
# print("粘贴区域",box)
des_im.paste(src_im, box)
des_im.save(src_img_path)
def get_box_pos(self, des_width, des_height, src_width, src_height):
del_width = des_width - src_width
del_height = des_height - src_height;
x1 = del_width / 2;
y1 = del_height / 2
x2 = x1 + src_width;
y2 = y1 + src_height;
x1 = int(x1)
y1 = int(y1)
x2 = int(x2)
y2 = int(y2)
return (x1, y1, x2, y2)
白话Learning
- 粉丝: 4733
- 资源: 3088
最新资源
- 机械设计液晶面板AOI检测机sw18可编辑全套设计资料100%好用.zip
- 基于扰动观察法 电导增量法的光伏电池最大功率点跟踪仿真模型 (PLECS平台搭建)
- 毕业论文设计 基于单片机的八路扫描式抢答器详细项目实例
- 基于springboot的健身房管理系统源码(java毕业设计完整源码).zip
- 基于SpringBoot的健身房管理系统源码(java毕业设计完整源码+LW).zip
- 4-上市银行常用数据整理(2000-2022年).zip
- mysql数据库JDBC驱动程序.zip
- 机械设计一次性帽子生产设备sw18全套设计资料100%好用.zip
- 基于java的车库智能管理平台开题报告.docx
- 三菱Q PLC案例程序,三菱Q系列程序 QD75MH总线伺服本案例是液晶电视导光板加工,此案例采用三菱Q系列PLC 有QD75MH定位模块SSNET总线伺服,QJ61BT11N 远程主站和远程IO
- 基于java的出租车管理系统开题报告.docx
- 基于SpringBoot的口腔诊所系统的设计与实现源码(java毕业设计完整源码).zip
- 基于java的穿戴搭配系统的开题报告.docx
- Java+Servlet+JSP+Bootstrap+Mysql学生信息管理系统源码+说明(高分项目)
- 基于SpringBoot的哈利波特书影音互动科普网站源码(java毕业设计完整源码+LW).zip
- 基于springboot的图书管理系统源码(java毕业设计完整源码+LW).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈