手把手教你玩转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 是腾讯自定义的剪贴板格式,他的内容如下:

<QQRichEditFormat>
<Info version="1001"></Info>
<EditElement type="0"><![CDATA[test ]]></EditElement>
<EditElement type="2" sysfaceindex="105" filepath="" shortcut=""></EditElement>
<EditElement type="0"><![CDATA[  ]]></EditElement>
<EditElement type="5" filepath="C:\Users\zjs\AppData\Local\Temp\2$RR25}U[P64P9(1(6%]V%8" shortcut="" fileid="37b80a9f9f992ab67dd49d0302a3890d" extdata="" tip="" mediatype="0"></EditElement>
</QQRichEditFormat>

注意看那个 type=”5”的结点,这个就是QQ的原创表情,你可以直接把他的路径复制出来,这就是那个原创表情在电脑上存储的位置了。

我们再来看看HTML Format,这个是系统上大多数程序都支持的格式了,他的内容如下:

Version:0.9
StartHTML:00000112
EndHTML:00000332
StartFragment:00000126
EndFragment:00000296
<!doctype html><html><body>
<!--StartFragment --><DIV>
test&nbsp;<IMG src="file:///C:\Users\zjs\AppData\Local\Temp\T})N)@B0X~IJR7UWW~1GL0Z.gif" sysface=105>&nbsp;&nbsp;<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/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写QQ机器人可以使用Python的脚本语言,并使用QQ机器人框架(例如CoolQ)来实现。以下是一个简单的步骤,手把手你编写QQ机器人。 首先,你需要安装QQ机器人框架(CoolQ)和Python开发环境。然后,创建一个新的Python脚本文件,例如`qqbot.py`。 在脚本中,首先导入QQ机器人框架的相关模块,例如: ```python from qqbot import QQBotSlot as qqbotslot, RunBot ``` 然后,通过定义一个QQBot插件类来实现自己的机器人逻辑。例如: ```python class MyQQBot(qqbotslot): @staticmethod def onQQMessage(bot, contact, member, content): # 在这里处理收到的QQ消息 if '你好' in content: bot.SendTo(contact, '你好,请问有什么可以帮助您的?') elif '天气' in content: # 在这里添加获取天气信息的逻辑 bot.SendTo(contact, '今天天气晴朗') ``` 在这个例子中,`onQQMessage`方法会在收到QQ消息时被触发,我们可以根据收到的消息内容来做出不同的响应。 最后,在脚本的底部添加启动机器人的代码: ```python if __name__ == '__main__': RunBot() ``` 保存并运行脚本文件,你的QQ机器人就可以开始工作了。 当你的脚本运行时,它会不断监听QQ消息,并根据你在插件类中定义的逻辑进行相应的回复。 当然,这只是一个简单的示例,你可以根据自己的需求进一步扩展和定制你的QQ机器人。你可以添加更多的消息处理逻辑,例如根据关键词回复不同的内容,或者连接其他API获取更丰富的数据,并将其发送给你的QQ联系人。 希望以上的步骤能帮助你手把手地编写QQ机器人!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值