Python實(shí)現(xiàn)圖片指定位置加圖片水印(附Pyinstaller打包exe)
選擇文件的效果:
標(biāo)記預(yù)加水印的位置:
# -*l- coding:utf-8 *import os, io, sys, re, time, jsonfrom pandas import arrayimport matplotlib.backends.backend_tkaggimport matplotlibmatplotlib.use(’TkAgg’)import matplotlib.pyplot as plt#from matplotlib.pyplot import imshow, ginputfrom PIL import Image, ImageEnhance, ImageFilterimport wximport numpy as npimport randomclass DirDialog(wx.Frame): def __init__(self): '''Constructor''' wx.Frame.__init__(self, None, -1, u'文件夾選擇對(duì)話(huà)框') b = wx.Button(self, -1, u'請(qǐng)選擇圖片') self.Bind(wx.EVT_BUTTON, self.OnButton, b) def OnButton(self, event):# file_wildcard = 'Paint files(*.paint)|*.paint|All files(*.*)|*.*' dlg = wx.FileDialog(self, u'選擇文件夾', style=wx.DD_DEFAULT_STYLE) if dlg.ShowModal() == wx.ID_OK: jpegname = dlg.GetPath() # 文件夾路徑 print(jpegname) np.savez(’dir.npz’, k_a=str(jpegname)) dlg.Destroy()def sealmark(img_seal, img_new): try: data_a = np.load(’dir.npz’)#保存地址數(shù)據(jù) img_source = str(data_a[’k_a’]) # 原圖片的地址 im1 = Image.open(img_source) plt.imshow(im1) xy = plt.ginput(1) xo = xy[0][0] yo = xy[0][1] ks = im1.size[1] * 0.000478 wm = Image.open(img_seal) wm = wm.resize((int(wm.width * ks), int(wm.height * ks))) # wm.with * k=280 * ks layer = Image.new(’RGBA’, im1.size, (0, 0, 0, 0)) layer.paste(wm, (int(xo), int(yo))) newIm = Image.composite(layer, im1, layer) newIm.save(img_new) print(img_seal) except Exception as e: print('>>>>>>>>>>> sealMark EXCEPTION: ' + str(e)) return False else: return Trueif __name__ == ’__main__’: frame = wx.App() app = DirDialog() app.Show() frame.MainLoop() sealmark('水印水印' + str(random.randrange(10)) + '.png', 'after_seal.jpg') #random.randrange(10):隨機(jī)在水印庫(kù)中挑選一張PNG水印圖片(三)Python打包成exe程序:
在終端里輸入pyinstaller -F -w add_seal.py
C:UsersAdministratorDesktopseal>pyinstaller -F -w add_seal.py
(1)出現(xiàn)以下的打包成功信息:
(2)dist文件夾出現(xiàn)exe文件:
(3)把exe文件放在主工作區(qū)文件夾,并雙擊運(yùn)行。
(4)成功!
(5)PS:給EXE文件加圖標(biāo)。
1、找一個(gè)ICO格式的圖標(biāo)文件:“redseal.ico”,放在項(xiàng)目文件夾內(nèi)。
2、加redseal.ico,進(jìn)行打包exe。
pyinstaller -F -w -i redseal.ico add_seal.py
3、移動(dòng)exe的位置,就會(huì)出現(xiàn)圖標(biāo)。
到此這篇關(guān)于Python實(shí)現(xiàn)圖片指定位置加圖片水印(附:Pyinstaller打包成exe格式)的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)圖片指定位置加圖片水印(附:Pyinstaller打包成exe格式)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python如何批量生成和調(diào)用變量2. 通過(guò)CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫(huà)特效3. .net如何優(yōu)雅的使用EFCore實(shí)例詳解4. Python獲取B站粉絲數(shù)的示例代碼5. ASP.Net Core對(duì)USB攝像頭進(jìn)行截圖6. python基礎(chǔ)之匿名函數(shù)詳解7. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車(chē)8. ajax動(dòng)態(tài)加載json數(shù)據(jù)并詳細(xì)解析9. python b站視頻下載的五種版本10. ASP.Net Core(C#)創(chuàng)建Web站點(diǎn)的實(shí)現(xiàn)
