最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)圖片指定位置加圖片水?。ǜ絇yinstaller打包exe)

 更新時(shí)間:2021年03月04日 08:36:47   作者:傅佑  
這篇文章主要介紹了Python實(shí)現(xiàn)圖片指定位置加圖片水印,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

(一)功能實(shí)現(xiàn)效果:

選擇文件的效果:

在這里插入圖片描述

在這里插入圖片描述

標(biāo)記預(yù)加水印的位置:

在這里插入圖片描述

在這里插入圖片描述

(二)Python代碼:

# -*l- coding:utf-8 *
import os, io, sys, re, time, json
from pandas import array
import matplotlib.backends.backend_tkagg
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
#from matplotlib.pyplot import imshow, ginput
from PIL import Image, ImageEnhance, ImageFilter
import wx
import numpy as np
import random
class DirDialog(wx.Frame):
 
  def __init__(self):
    """Constructor"""
    wx.Frame.__init__(self, None, -1, u"文件夾選擇對話框")
    b = wx.Button(self, -1, u"請選擇圖片")
    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 True


if __name__ == '__main__':
  frame = wx.App()
  app = DirDialog()
  app.Show()
  frame.MainLoop()
  sealmark("水印\水印" + str(random.randrange(10)) + ".png", "after_seal.jpg") #random.randrange(10):隨機(jī)在水印庫中挑選一張PNG水印圖片

(三)Python打包成exe程序:

在終端里輸入pyinstaller -F -w add_seal.py

C:\Users\Administrator\Desktop\seal>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)。

ico格式的圖標(biāo)

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)圖片指定位置加圖片水?。ǜ剑篜yinstaller打包成exe格式)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python發(fā)送郵件測試報(bào)告操作實(shí)例詳解

    Python發(fā)送郵件測試報(bào)告操作實(shí)例詳解

    這篇文章主要介紹了Python發(fā)送郵件測試報(bào)告操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python郵件發(fā)送相關(guān)模塊使用及操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • ​如何愉快地遷移到 Python 3

    ​如何愉快地遷移到 Python 3

    如今 Python 成為機(jī)器學(xué)習(xí)和大量使用數(shù)據(jù)操作的科學(xué)領(lǐng)域的主流語言; 它擁有各種深度學(xué)習(xí)框架和完善的數(shù)據(jù)處理和可視化工具。這篇文章主要介紹了遷移到 Python 3的方法,需要的朋友可以參考下
    2019-04-04
  • python字典序問題實(shí)例

    python字典序問題實(shí)例

    這篇文章主要介紹了python字典序問題,是字符串操作一個(gè)比較典型的應(yīng)用,需要的朋友可以參考下
    2014-09-09
  • 由Python編寫的MySQL管理工具代碼實(shí)例

    由Python編寫的MySQL管理工具代碼實(shí)例

    這篇文章主要介紹了由Python編寫的MySQL管理工具,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python線程池(threadpool)模塊使用筆記詳解

    python線程池(threadpool)模塊使用筆記詳解

    這篇文章主要介紹了python線程池(threadpool)模塊使用筆記詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • django中使用memcached示例詳解

    django中使用memcached示例詳解

    這篇文章主要為大家介紹了django中使用memcached示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python利用re模塊實(shí)現(xiàn)簡易分詞(tokenization)

    Python利用re模塊實(shí)現(xiàn)簡易分詞(tokenization)

    分詞(tokenization)任務(wù)是Python字符串處理中最為常見任務(wù)了。本文將利用re模塊實(shí)現(xiàn)簡易tokenizer,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-04-04
  • python字符串不可變數(shù)據(jù)類型

    python字符串不可變數(shù)據(jù)類型

    這篇文章主要介紹了python字符串不可變數(shù)據(jù)類型,下文關(guān)于python字符串不可變數(shù)據(jù)類型相關(guān)資料展開的內(nèi)容主要有查找子串及數(shù)量、字符串的替換、分割以及合并、刪除側(cè)邊的空白等內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • Python中文糾錯(cuò)的簡單實(shí)現(xiàn)

    Python中文糾錯(cuò)的簡單實(shí)現(xiàn)

    這篇文章主要是用 Python 實(shí)現(xiàn)了簡單的中文分詞的同音字糾錯(cuò),目前的案例中只允許錯(cuò)一個(gè)字,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 簡單了解Java Netty Reactor三種線程模型

    簡單了解Java Netty Reactor三種線程模型

    這篇文章主要介紹了簡單了解Java Netty Reactor三種線程模型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評論

白山市| 尼勒克县| 屏南县| 忻州市| 忻州市| 若羌县| 阳原县| 凯里市| 贺州市| 麻城市| 台中县| 文山县| 石棉县| 保定市| 吕梁市| 泾川县| 易门县| 沙田区| 天全县| 牡丹江市| 阿图什市| 长阳| 井陉县| 巩义市| 常山县| 西宁市| 昌乐县| 甘南县| 阿克| 福州市| 凤山市| 达孜县| 山西省| 钟山县| 东兰县| 张家界市| 准格尔旗| 三原县| 天祝| 慈溪市| 旌德县|