from PIL import Image
from io import BytesIO
import win32clipboard
file_image = 't.jpg'
def send_msg_to_clip(type_data, msg):
"""
操作剪贴板分四步:
1. 打开剪贴板:OpenClipboard()
2. 清空剪贴板,新的数据才好写进去:EmptyClipboard()
3. 往剪贴板写入数据:SetClipboardData()
4. 关闭剪贴板:CloseClipboard()
:param type_data: 数据的格式,
unicode字符通常是传 win32con.CF_UNICODETEXT
:param msg: 要写入剪贴板的数据
"""
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(type_data, msg)
win32clipboard.CloseClipboard()
def paste_img(file_img):
"""
图片转换成二进制字符串,然后以位图的格式写入剪贴板
主要思路是用Image模块打开图片,
用BytesIO存储图片转换之后的二进制字符串
:param file_img: 图片的路径
"""
image = Image.open(file_img)
output = BytesIO()
image.save(output, 'BMP')
data = output.getvalue()[14:]
output.close()
send_msg_to_clip(win32clipboard.CF_DIB, data)
def main():
paste_img(file_image)
if __name__ == '__main__':
main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步