手把手教你玩转QQ的原创表情
手把手教你玩轉QQ的原創表情
在這里先鄙視一下騰訊對于表情圖片的惡意保護。
QQ的原創表情非常的可愛,做得比較精致,深受廣大QQ用戶的喜愛;但怎么將這些表情保存下來,好讓我可以在別的地方用呢?
現在網關于QQ原創表情的文章已經很多,但絕大多數是如何導入、導出,對于QQ原創表情為什么能在QQ內部復制,卻沒辦法保存到本地缺少說明。
乖乖牛在線將從不同的視角,為你解析QQ原創表情的存儲、互通、保護的機制;熟悉了這些后,你將不光能夠將自己喜歡的原創表情保存下來;如果你有自己的產品,也可以輕松的讓自己的產品支持QQ的原創表情噢。
乖乖牛在線全線產品均支持將QQ原創表情的獲取過來,并且展示在界面上,予以復用。
在乖乖牛產品中如何獲取QQ原創表情
1. 牛牛截圖中如何獲取QQ原創表情
1).先在QQ中復制一張原創表情
2).進入http://www.ggniu.cn/testcapture.html頁面,選擇從剪貼板復制
3). 點擊截圖,是不是原創表情乖乖的顯示到了頁面上?
2. 牛牛圖片查看器中如何獲取QQ原創表情
1). 先在QQ中復制一張原創表情
2). 打開牛牛圖片查看器,通過Ctrl+V來粘貼,是不是原創表情已經顯示出來了[可以另存為保存噢]?
3. NiuniuImageOle控件中如何獲取QQ原創表情
NiuniuImageOle不光支持QQ原創表情的復制粘貼,還可以將有原創表情的圖文信息一并粘貼下來噢,實際操作一下吧:
1) 在QQ中輸入一些表情、文字、截圖、原創表情,然后復制
2) 打開NiuniuImageOle控件的示例程序,在輸入窗口中點擊粘貼,是不是圖文都全部顯示出來了?
想讓你的產品也擁有這樣的功能么? 趕緊將乖乖牛在線的控件集成到你的產品中吧,完全免費的噢!
原理解析
接下來給大家說一下實現的原理,其實所有的秘密都在Windows的剪貼板中,先給大家介紹一個查看剪貼板數據的工具:InsideClipboard,打開這個工具,當你復制QQ中的圖文信息的時候,你會在InsideClipborad中看到如下信息:
如果你的程序能夠順利的讀取剪貼板中的數據,那么QQ的原創表情就與硬盤上的其他文件無異了。
QQ_Unicode_RichEdit_Format 是騰訊自定義的剪貼板格式,他的內容如下:
注意看那個 type=”5”的結點,這個就是QQ的原創表情,你可以直接把他的路徑復制出來,這就是那個原創表情在電腦上存儲的位置了。
我們再來看看HTML Format,這個是系統上大多數程序都支持的格式了,他的內容如下:
Version:0.9 StartHTML:00000112 EndHTML:00000332 StartFragment:00000126 EndFragment:00000296 <!doctype html><html><body> <!--StartFragment --><DIV> test <IMG src="file:///C:\Users\zjs\AppData\Local\Temp\T})N)@B0X~IJR7UWW~1GL0Z.gif" sysface=105> <IMG src="file:///" > </DIV><!--EndFragment--> </body> </html>注意看后一個Img標簽,他的src路徑是空的,騰訊就是通過不將路徑寫入此結點,來達到保護原創表情的目的的。
在這里我們大家一起來吐槽一下騰訊的兩個BUG
QQ在復制與粘貼的時候,在特定的情況下,即便不是原創表情,也無法復制粘貼,具體如下:
1. 當有原創表情,又有自定義圖片[如截圖等],其寫入的HTML Format中,連自定義圖片的路徑都看不到了
2. 當你在別處寫入了HTML Format格式,如果里面有不帶擴展名的圖片與文字混合的話,想在QQ中粘貼,是粘貼不上的;
如何避開QQ的BUG?
通過上述剪貼板格式的分析,我想大家應該知道如何支持與QQ的帶原創表情的剪貼板的互通了:
1. 要粘貼時,結合HTML Format與 QQ_Unicode_RichEdit_Format,找到每一個圖片與表情的路徑
2. 向剪貼板寫入數據時,需要同時寫入QQ_Unicode_RichEdit_Format,這樣QQ才能將圖文正常的粘貼到其窗口中
好了,今天就為大家介紹到了這里了。
乖乖牛在線主頁:http://www.ggniu.cn/
總結
以上是生活随笔為你收集整理的手把手教你玩转QQ的原创表情的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软开放必应搜索引擎核心算法
- 下一篇: 高等数学(同济大学)