# coding: utf-8
# pip install pillow, 用Image模塊操作圖片文件
from PIL import Image
# BytesIO是操作二進制數據的模塊
from io import BytesIO
# pip install pywin32, win32clipboard是操作剪貼板的模塊
import win32clipboard
# 圖片路徑,如果是當前路徑,直接寫文件名
# windows路徑要注意是 \\,例:'D:\\\\t.jpg'
# linux是 /,例: '~/t.jpg'
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變量中
# 用open函數處理后,圖像對象的模式都是 RGB
image = Image.open(file_img)
# 聲明output字節對象
output = BytesIO()
# 用BMP (Bitmap) 格式存儲
# 這里是位圖,然后用output字節對象來存儲
image.save(output, 'BMP')
# BMP圖片有14字節的header,需要額外去除
data = output.getvalue()[14:]
# 關閉
output.close()
# DIB: 設備無關位圖(device-independent bitmap),名如其意
# BMP的圖片有時也會以.DIB和.RLE作擴展名
# 設置好剪貼板的數據格式,再傳入對應格式的數據,才能正確向剪貼板寫入數據
send_msg_to_clip(win32clipboard.CF_DIB, data)
def main():
paste_img(file_image)
if __name__ == '__main__':
main()
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據
+關注
關注
8文章
7134瀏覽量
89404 -
二進制
+關注
關注
2文章
796瀏覽量
41731 -
操作
+關注
關注
0文章
43瀏覽量
18901
發布評論請先 登錄
相關推薦
鴻蒙OS 剪貼板開發指導
時,應用程序 A、B 也可以來自組網內的不同設備。 圖1 剪貼板服務示意圖 在使用剪貼板服務時,需要注意以下幾點: 只有在前臺獲取到焦點的應用才有讀取系統剪貼板的權限(系統默認輸入法應用除外)。 寫入
【測試之王LabVIEW】給圖片下拉列表VI添加圖片
我就把我知道的簡單說一下吧!歡迎批評右鍵單擊圖片下拉列表VI,如圖1所示,從剪貼板導入圖片"選項為灰色不可用如果這時剪貼板有圖片,
發表于 11-11 11:22
HarmonyOS應用開發-剪貼板功能實現
粘貼版是一個常用的功能,用戶通過系統剪貼板服務,可實現應用之間的簡單數據傳遞。例如:在應用A中復制的數據,可以在應用B中粘貼,反之亦可。效果如圖: 關鍵代碼如下:public class
發表于 03-30 10:48
可雙向復制粘貼圖片 向日葵Windows客戶端9.0.3發布
近日,向日葵遠程控制軟件更新了Windows客戶端9.0.3,優化了同步剪貼板功能,遠程Windows系統桌面時,支持富文本復制粘貼,即本地主機可直接將異地主機中的文本直接復制粘貼使用,甚至連格式
發表于 06-27 15:48
?1461次閱讀
小米手機和PC的共享剪貼板上線,PC端裝云服務客戶端就OK
劉鳴稱:“看到有用戶在要共享剪貼板,其實我們已經支持了,只需要電腦端裝小米云服務客戶端就可以了。”
蘋果iOS應用程序不經過用戶同意讀取剪貼板數據
據Macrumors報道,最新研究顯示數十種流行的iOS應用程序,在未經用戶同意的情況下,讀取剪貼板的內容,其中可能包含敏感信息。
iOS 14的隱私功能顯示了復制到剪貼板的TikTok閱讀文本
開發人員開始下載并使用iOS 14 beta版,他們發現流行的視頻共享平臺TikTok是讀取用戶復制到剪貼板的文本的應用程序之一。從下面的視頻中可以看到,在TikTok應用程序打開時,蘋果的新隱私警告繼續出現在屏幕上。
HarmonyOS應用開發案例 剪貼板功能實現
粘貼版是一個常用的功能,用戶通過系統剪貼板服務,可實現應用之間的簡單數據傳遞。例如:在應用A中復制的數據,可以在應用B中粘貼,反之亦可。 效果如圖: 關鍵代碼如下: public class
Python2與Python3的差異
Python2與Python3是兩個不同的版本,它們在語法、功能和性能等方面存在一些差異。下面是對Python2和Python3的詳盡、詳實、細致的比較,分為以下幾個方面: 語法差異:
ad復制元件怎么保持編號不變
瀏覽器”來創建和管理元件庫。在創建庫時,為每個元件分配一個唯一的編號,該編號將在復制過程中保持不變。 復制元件:選中要復制的元件,并使用“復制”命令或快捷鍵(Ctrl+C)將其
怎么將剪貼板數據導入到labview數組
將剪貼板數據導入到LabVIEW數組可以通過以下步驟完成。首先,需要使用LabVIEW自帶的函數庫VIs來實現剪貼板數據的獲取和處理。 第一步是獲取剪貼板數據。LabVIEW提供了Cl
評論