日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python实现将一张图片放到另一张图片指定的位置上并合成一张图

發布時間:2024/3/13 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python实现将一张图片放到另一张图片指定的位置上并合成一张图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python實現將一張圖片放到另一張圖片指定的位置上并合成一張圖

# -*- coding: utf-8 -*- # by:Apsinc # time:2019年12月10日 #Python實現將一張圖片放到另一張圖片指定的位置上并合成一張圖 from PIL import Imagepath = "C:/Users/Administrator/Desktop/QRCode/background.jpg"#母圖詳細文件名以及路徑 img = Image.open(path) # img = qr.make_image(fill_color="#555555", back_color="Red") img = img.convert("RGBA") # CMYK/RGBA 轉換顏色格式(CMYK用于打印機的色彩,RGBA用于顯示器的色彩) # 添加子圖 icon = Image.open("C:/Users/Administrator/Desktop/QRCode/zitu.png")#子圖文件名 # 獲取圖片的寬高 img_w, img_h = img.size#獲取被放圖片的大小(母圖) icon_w,icon_h=icon.size#獲取小圖的大小(子圖) factor = 6 size_w = int(img_w / factor) size_h = int(img_h / factor) icon_w, icon_h = icon.size #防止子圖尺寸大于母圖 if icon_w > size_w:icon_w = size_w if icon_h > size_h:icon_h = size_h # # 重新設置子圖的尺寸 # icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS) w = int((img_w - icon_w) / 2) h = int((img_h - icon_h) / 2) # 粘貼圖片 img.paste(icon, (w, h), mask=None) # 保存圖片 img.save("C:/Users/Administrator/Desktop/QRCode/c.png")#合成后的圖片路徑以及文件名

為了方便下次調用最好封裝成為模塊

from PIL import Imagedef Picture_Synthesis(mother_img,son_img,save_img,coordinate=None):""":param mother_img: 母圖:param son_img: 子圖:param save_img: 保存圖片名:param coordinate: 子圖在母圖的坐標:return:"""#將圖片賦值,方便后面的代碼調用M_Img = Image.open(mother_img)S_Img = Image.open(son_img)factor = 1#子圖縮小的倍數1代表不變,2就代表原來的一半#給圖片指定色彩顯示格式M_Img = M_Img.convert("RGBA") # CMYK/RGBA 轉換顏色格式(CMYK用于打印機的色彩,RGBA用于顯示器的色彩)# 獲取圖片的尺寸M_Img_w, M_Img_h = M_Img.size # 獲取被放圖片的大小(母圖)print("母圖尺寸:",M_Img.size)S_Img_w, S_Img_h = S_Img.size # 獲取小圖的大小(子圖)print("子圖尺寸:",S_Img.size)size_w = int(S_Img_w / factor)size_h = int(S_Img_h / factor)# 防止子圖尺寸大于母圖if S_Img_w > size_w:S_Img_w = size_wif S_Img_h > size_h:S_Img_h = size_h# # 重新設置子圖的尺寸# icon = S_Img.resize((S_Img_w, S_Img_h), Image.ANTIALIAS)icon = S_Img.resize((S_Img_w, S_Img_h), Image.ANTIALIAS)w = int((M_Img_w - S_Img_w) / 2)h = int((M_Img_h - S_Img_h) / 2)try:if coordinate==None or coordinate=="":coordinate=(w, h)# 粘貼子圖到母圖的指定坐標(當前居中)M_Img.paste(icon, coordinate, mask=None)else:print("已經指定坐標")# 粘貼子圖到母圖的指定坐標(當前居中)M_Img.paste(icon, coordinate, mask=None)except:print("坐標指定出錯 ")# 保存圖片M_Img.save(save_img)

調用方法

Picture_Synthesis(mother_img="C:/Users/Administrator/Desktop/QRCode/b.jpg",son_img="C:/Users/Administrator/Desktop/QRCode/y.png",save_img="C:/Users/Administrator/Desktop/QRCode/newimg.png",coordinate=None#如果為None表示直接將子圖在母圖中居中也可以直接賦值坐標# coordinate=(50,50))

母圖

子圖

最終效果
好的,這就不必過多的介紹代碼了,全在注釋中,有問題歡迎留言!有錯誤也歡迎您慷慨指正!

總結

以上是生活随笔為你收集整理的Python实现将一张图片放到另一张图片指定的位置上并合成一张图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。