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

完善資料讓更多小伙伴認識你,還能領(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是操作二進制數(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ù)才好寫進去: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)換成二進制字符串,然后以位圖的格式寫入剪貼板

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

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

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

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

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

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

    # DIB: 設(shè)備無關(guān)位圖(device-independent bitmap),名如其意
    # BMP的圖片有時也會以.DIB和.RLE作擴展名
    # 設(shè)置好剪貼板的數(shù)據(jù)格式,再傳入對應(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7030

    瀏覽量

    89038
  • 二進制
    +關(guān)注

    關(guān)注

    2

    文章

    795

    瀏覽量

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

    關(guān)注

    0

    文章

    43

    瀏覽量

    18873
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

    粘貼版是一個常用的功能,用戶通過系統(tǒng)剪貼板服務(wù),可實現(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ā)布

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

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

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

    使用python3寫的圖片壓縮代碼合集免費下載

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

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

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

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

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

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

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

    Python2與Python3的差異

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

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

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

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

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