IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python修改图片Exif属性 -> 正文阅读

[Python知识库]Python修改图片Exif属性

?Exif详细描述参考:

Exif文件格式描述_石旭东的技术博客_51CTO博客

# from PIL import Image
# import piexif
#
# im = Image.open("D://temp//1.jpg")
# exif_dict = piexif.load(im.info["exif"])
#
# print(type(exif_dict), exif_dict)
#
# for ifd in ("0th", "Exif", "GPS", "1st"):
#     for tag in exif_dict[ifd]:
#         print(piexif.TAGS[ifd][tag], exif_dict[ifd][tag])
# exif_dict["0th"][piexif.ImageIFD.Artist] = "中国科技".encode()
# exif_dict["Exif"][piexif.ExifIFD.DateTimeOriginal] = '9999:09:09 09:09:09'.encode()
# # print(exif_dict["GPS"][piexif.ImageIFD])
# exif_bytes = piexif.dump(exif_dict)
# print(type(exif_dict), exif_dict)
# im.save("D://temp//hint2.jpg", exif=exif_bytes)
# print('------------------------------修改后-----------------------------------')
# for ifd in ("0th", "Exif", "GPS", "1st"):
#     for tag in exif_dict[ifd]:
#         print(piexif.TAGS[ifd][tag], exif_dict[ifd][tag])


import io
import piexif
from PIL import Image

# 读取图片并创建缩略图
bytesIO = io.BytesIO()
thumb_im = Image.open('D://temp//1.jpg')
thumb_im.thumbnail((50, 50), Image.ANTIALIAS)
thumb_im.save(bytesIO, 'jpeg')
thumbnail = bytesIO.getvalue()

# 编辑EXIF数据
zeroth_ifd = {
    piexif.ImageIFD.Make: '中国'.encode(),
    piexif.ImageIFD.XResolution: (300, 1),
    piexif.ImageIFD.YResolution: (300, 1),
    piexif.ImageIFD.Software: '中国'.encode(),
    piexif.ImageIFD.Artist : "中国科技".encode(),
    piexif.ImageIFD.Copyright: "中国科技".encode()
}
exif_ifd = {
    piexif.ExifIFD.DateTimeOriginal: '2099:09:29 10:10:10',
    piexif.ExifIFD.LensMake: "中国科技".encode(),
    piexif.ExifIFD.Sharpness: 65535,
    piexif.ExifIFD.LensSpecification: ((1, 1), (1, 1), (1, 1), (1, 1)),
}
gps_ifd = {
    piexif.GPSIFD.GPSVersionID: (2, 0, 0, 0),
    piexif.GPSIFD.GPSAltitudeRef: 1,
    piexif.GPSIFD.GPSDateStamp: '1999:99:99 99:99:99',
}
first_ifd = {
    piexif.ImageIFD.Make: "中国科技".encode(),
    piexif.ImageIFD.XResolution: (40, 1),
    piexif.ImageIFD.YResolution: (40, 1),
    piexif.ImageIFD.Software: "中国科技".encode()
}

# 保存
exif_dict = {'0th': zeroth_ifd, 'Exif': exif_ifd, 'GPS': gps_ifd, '1st': first_ifd, 'thumbnail': thumbnail}
exif_bytes = piexif.dump(exif_dict)
im = Image.open('D://temp//1.jpg')
im.save('D://temp//hint2.jpg', exif=exif_bytes)

# 读取EXIF
exif_dict = piexif.load('D://temp//hint2.jpg')
for k, v in exif_dict.items():
    print(k, v)
# 0th {271: b'Canon', 282: (96, 1), 283: (96, 1), 305: b'piexif', 34665: 115, 34853: 226}
# Exif {36867: b'2099:09:29 10:10:10', 41994: 65535, 42034: ((1, 1), (1, 1), (1, 1), (1, 1)), 42035: b'LensMake'}
# GPS {0: (2, 0, 0, 0), 5: 1, 29: b'1999:99:99 99:99:99'}
# Interop {}
# 1st {271: b'Canon', 282: (40, 1), 283: (40, 1), 305: b'piexif', 513: 391, 514: 1556}
# thumbnail b'……'

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:18:55  更:2022-03-16 22:19:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:04:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码