Python实现图片指定位置加图片水印(附Pyinstaller打包exe)


Posted in Python onMarch 04, 2021

(一)功能实现效果:

选择文件的效果:

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

标记预加水印的位置:

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

(二)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')#保存地址数据
    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):随机在水印库中挑选一张PNG水印图片

(三)Python打包成exe程序:

在终端里输入pyinstaller -F -w add_seal.py

C:\Users\Administrator\Desktop\seal>pyinstaller -F -w add_seal.py

(1)出现以下的打包成功信息:

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

(2)\dist\文件夹出现exe文件:

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

(3)把exe文件放在主工作区文件夹,并双击运行。

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

(4)成功!

(5)PS:给EXE文件加图标。

1、找一个ICO格式的图标文件:“redseal.ico”,放在项目文件夹内。

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

2、加redseal.ico,进行打包exe。

pyinstaller -F -w -i redseal.ico add_seal.py

3、移动exe的位置,就会出现图标。

Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

到此这篇关于Python实现图片指定位置加图片水印(附:Pyinstaller打包成exe格式)的文章就介绍到这了,更多相关Python实现图片指定位置加图片水印(附:Pyinstaller打包成exe格式)内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
采用python实现简单QQ单用户机器人的方法
Jul 03 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
python pandas 时间日期的处理实现
Jul 30 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 Python
超详细Python解释器新手安装教程
May 10 Python
分享Python获取本机IP地址的几种方法
Mar 17 Python
python 指定源路径来解决import问题的操作
Mar 04 #Python
python源文件的字符编码知识点详解
Mar 04 #Python
python3判断IP地址的方法
Mar 04 #Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 #Python
python和opencv构建运动检测器的实现
Mar 03 #Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 #Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 #Python
You might like
php实现购物车功能(下)
2016/01/05 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
jquery+html仿翻页相册功能
2016/12/20 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
python基础教程项目五之虚拟茶话会
2018/04/02 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
基于python实现查询ip地址来源
2020/06/02 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
python中的插入排序的简单用法
2021/01/19 Python
Skyscanner波兰:廉价航班
2017/11/07 全球购物
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
人力资源作业细则
2014/03/03 职场文书
员工工作能力评语
2014/12/31 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
运动会运动员赞词
2015/07/22 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书