0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python3如何把圖片復(fù)制到剪貼板

汽車電子技術(shù) ? 來源:Python腳本 ? 作者:otfsenter ? 2023-03-03 15:25 ? 次閱讀
# coding: utf-8

# pip install pillow, 用Image模塊操作圖片文件
from PIL import Image

# BytesIO是操作二進(jìn)制數(shù)據(jù)的模塊
from io import BytesIO

# pip install pywin32, win32clipboard是操作剪貼板的模塊
import win32clipboard


# 圖片路徑,如果是當(dāng)前路徑,直接寫文件名
# windows路徑要注意是 \\,例:'D:\\\\t.jpg'
# linux是 /,例: '~/t.jpg'
file_image = 't.jpg'


def send_msg_to_clip(type_data, msg):
    """
    操作剪貼板分四步:
    1. 打開剪貼板:OpenClipboard()
    2. 清空剪貼板,新的數(shù)據(jù)才好寫進(jìn)去:EmptyClipboard()
    3. 往剪貼板寫入數(shù)據(jù):SetClipboardData()
    4. 關(guān)閉剪貼板:CloseClipboard()

    :param type_data: 數(shù)據(jù)的格式,
    unicode字符通常是傳 win32con.CF_UNICODETEXT
    :param msg: 要寫入剪貼板的數(shù)據(jù)
    """
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(type_data, msg)
    win32clipboard.CloseClipboard()


def paste_img(file_img):
    """
    圖片轉(zhuǎn)換成二進(jìn)制字符串,然后以位圖的格式寫入剪貼板

    主要思路是用Image模塊打開圖片,
    用BytesIO存儲(chǔ)圖片轉(zhuǎn)換之后的二進(jìn)制字符串

    :param file_img: 圖片的路徑
    """
    # 把圖片寫入image變量中
    # 用open函數(shù)處理后,圖像對(duì)象的模式都是 RGB
    image = Image.open(file_img)

    # 聲明output字節(jié)對(duì)象
    output = BytesIO()

    # 用BMP (Bitmap) 格式存儲(chǔ)
    # 這里是位圖,然后用output字節(jié)對(duì)象來存儲(chǔ)
    image.save(output, 'BMP')

    # BMP圖片有14字節(jié)的header,需要額外去除
    data = output.getvalue()[14:]

    # 關(guān)閉
    output.close()

    # DIB: 設(shè)備無關(guān)位圖(device-independent bitmap),名如其意
    # BMP的圖片有時(shí)也會(huì)以.DIB和.RLE作擴(kuò)展名
    # 設(shè)置好剪貼板的數(shù)據(jù)格式,再傳入對(duì)應(yīng)格式的數(shù)據(jù),才能正確向剪貼板寫入數(shù)據(jù)
    send_msg_to_clip(win32clipboard.CF_DIB, data)


def main():
    paste_img(file_image)


if __name__ == '__main__':
    main()
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6715

    瀏覽量

    88312
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    761

    瀏覽量

    41476
  • 操作
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    18819
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS 剪貼板開發(fā)指導(dǎo)

    時(shí),應(yīng)用程序 A、B 也可以來自組網(wǎng)內(nèi)的不同設(shè)備。 圖1 剪貼板服務(wù)示意圖 在使用剪貼板服務(wù)時(shí),需要注意以下幾點(diǎn): 只有在前臺(tái)獲取到焦點(diǎn)的應(yīng)用才有讀取系統(tǒng)剪貼板的權(quán)限(系統(tǒng)默認(rèn)輸入法應(yīng)用除外)。 寫入
    的頭像 發(fā)表于 01-31 15:46 ?839次閱讀
    鴻蒙OS <b class='flag-5'>剪貼板</b>開發(fā)指導(dǎo)

    labview利用調(diào)用節(jié)點(diǎn)從剪貼板獲取圖像生成EXE文件無法使用

    labview利用調(diào)用節(jié)點(diǎn)從剪貼板獲取圖像生成EXE文件時(shí)無法使用,這是什么原因呢,怎么改呢
    發(fā)表于 06-06 22:17

    【測試之王LabVIEW】給圖片下拉列表VI添加圖片

    我就把我知道的簡單說一下吧!歡迎批評(píng)右鍵單擊圖片下拉列表VI,如圖1所示,從剪貼板導(dǎo)入圖片"選項(xiàng)為灰色不可用如果這時(shí)剪貼板圖片,
    發(fā)表于 11-11 11:22

    HarmonyOS應(yīng)用開發(fā)-剪貼板功能實(shí)現(xiàn)

    粘貼版是一個(gè)常用的功能,用戶通過系統(tǒng)剪貼板服務(wù),可實(shí)現(xiàn)應(yīng)用之間的簡單數(shù)據(jù)傳遞。例如:在應(yīng)用A中復(fù)制的數(shù)據(jù),可以在應(yīng)用B中粘貼,反之亦可。效果如圖: 關(guān)鍵代碼如下:public class
    發(fā)表于 03-30 10:48

    JAVA教程之使用剪貼板復(fù)制粘貼程序

    JAVA教程之使用剪貼板復(fù)制粘貼程序,很好的學(xué)習(xí)資料。
    發(fā)表于 03-31 11:13 ?5次下載

    Delphi教程之監(jiān)視剪貼板

    Delphi教程之監(jiān)視剪貼板,很好的Delphi資料,快來下載吧。
    發(fā)表于 04-11 16:09 ?9次下載

    可雙向復(fù)制粘貼圖片 向日葵Windows客戶端9.0.3發(fā)布

    近日,向日葵遠(yuǎn)程控制軟件更新了Windows客戶端9.0.3,優(yōu)化了同步剪貼板功能,遠(yuǎn)程Windows系統(tǒng)桌面時(shí),支持富文本復(fù)制粘貼,即本地主機(jī)可直接將異地主機(jī)中的文本直接復(fù)制粘貼使用,甚至連格式
    發(fā)表于 06-27 15:48 ?1423次閱讀

    小米手機(jī)和PC的共享剪貼板上線,PC端裝云服務(wù)客戶端就OK

    劉鳴稱:“看到有用戶在要共享剪貼板,其實(shí)我們已經(jīng)支持了,只需要電腦端裝小米云服務(wù)客戶端就可以了?!?/div>
    的頭像 發(fā)表于 11-24 09:09 ?7371次閱讀

    使用python3寫的圖片壓縮代碼合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用python3寫的圖片壓縮代碼合集免費(fèi)下載。
    發(fā)表于 03-12 08:00 ?0次下載

    蘋果iOS應(yīng)用程序不經(jīng)過用戶同意讀取剪貼板數(shù)據(jù)

    據(jù)Macrumors報(bào)道,最新研究顯示數(shù)十種流行的iOS應(yīng)用程序,在未經(jīng)用戶同意的情況下,讀取剪貼板的內(nèi)容,其中可能包含敏感信息。
    的頭像 發(fā)表于 03-16 09:19 ?2756次閱讀

    iOS 14的隱私功能顯示了復(fù)制到剪貼板的TikTok閱讀文本

    開發(fā)人員開始下載并使用iOS 14 beta版,他們發(fā)現(xiàn)流行的視頻共享平臺(tái)TikTok是讀取用戶復(fù)制到剪貼板的文本的應(yīng)用程序之一。從下面的視頻中可以看到,在TikTok應(yīng)用程序打開時(shí),蘋果的新隱私警告繼續(xù)出現(xiàn)在屏幕上。
    的頭像 發(fā)表于 07-03 16:33 ?2258次閱讀

    HarmonyOS應(yīng)用開發(fā)案例 剪貼板功能實(shí)現(xiàn)

    粘貼版是一個(gè)常用的功能,用戶通過系統(tǒng)剪貼板服務(wù),可實(shí)現(xiàn)應(yīng)用之間的簡單數(shù)據(jù)傳遞。例如:在應(yīng)用A中復(fù)制的數(shù)據(jù),可以在應(yīng)用B中粘貼,反之亦可。 效果如圖: 關(guān)鍵代碼如下: public class
    的頭像 發(fā)表于 03-30 10:41 ?1168次閱讀
    HarmonyOS應(yīng)用開發(fā)案例 <b class='flag-5'>剪貼板</b>功能實(shí)現(xiàn)

    Python2與Python3的差異

    Python2與Python3是兩個(gè)不同的版本,它們在語法、功能和性能等方面存在一些差異。下面是對(duì)Python2和Python3的詳盡、詳實(shí)、細(xì)致的比較,分為以下幾個(gè)方面: 語法差異:
    的頭像 發(fā)表于 11-23 16:48 ?710次閱讀

    ad復(fù)制元件怎么保持編號(hào)不變

    瀏覽器”來創(chuàng)建和管理元件庫。在創(chuàng)建庫時(shí),為每個(gè)元件分配一個(gè)唯一的編號(hào),該編號(hào)將在復(fù)制過程中保持不變。 復(fù)制元件:選中要復(fù)制的元件,并使用“復(fù)制”命令或快捷鍵(Ctrl+C)將其
    的頭像 發(fā)表于 12-27 17:07 ?5784次閱讀

    怎么將剪貼板數(shù)據(jù)導(dǎo)入labview數(shù)組

    剪貼板數(shù)據(jù)導(dǎo)入LabVIEW數(shù)組可以通過以下步驟完成。首先,需要使用LabVIEW自帶的函數(shù)庫VIs來實(shí)現(xiàn)剪貼板數(shù)據(jù)的獲取和處理。 第一步是獲取剪貼板數(shù)據(jù)。LabVIEW提供了Cl
    的頭像 發(fā)表于 01-05 13:35 ?1082次閱讀