C#实现聊天消息渲染与图文混排详解 |
||||
+ 目录在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。 好在我们可以使用 ESFramework 提供的 IChatRender 组件,使用它我们就能轻松实现类似于微信聊天消息的渲染效果。IChatRender 支持 Windows、Linux(包括国产OS)。在Windows平台上提供了基于 WinForm 和基于 WPF 的实现,在Linux上则是基于.NET Core 实现的。 废话不多说,先上张渲染Demo的效果图(该Demo源码可于文末下载):
效果还不错吧!下面我们就简单介绍下如何使用 IChatRender 实现上图所展示的渲染效果,大家下载源码对照着看,会更容易理解。
一.支持的聊天消息类型IChatRender 支持渲染的聊天消息类型包括: (1)文本表情混排。 (2)图片,GIF 动图。 (3)文件传输进度及控制。 (4)个人名片、群名片。 (5)引用消息。 (6)语音消息。 (7)语音通话。 (8)视频通话。 (9)撤回消息、删除消息。
二.IChatRender 接口定义IChatRender 接口的定义具体如下所示:
?
三. 创建 IChatRender 实例可以通过调用ESFramework.Extensions.ChatRendering.ChatRenderFactory的静态方法 CreateChatRender 创建一个 IChatRender 实例。
?
第一个参数 IRenderDataProvider 用于在 IChatRender 渲染时,能从该接口获取必要的信息(如用户的头像、名称、表情图片等)。 第二个参数 则是要在其表面进行渲染的UI控件。
四. Demo 源码下载ChatRenderDemo 源码链接:Windows 端 + Linux 端 源码提取码:6daw 源码解决方案中包括三个项目: (1)ChatRenderDemo.WPF: 该Demo的Windows端(基于WPF)。 (2)ChatRenderDemo.WinForm: 该Demo的Windows端(基于WinForm)。 (3)ChatRenderDemo.Linux: 该Demo的Linux客户端(基于.NetCore),支持在统信UOS、银河麒麟等国产OS上运行。 注:Linux 端内置的是x86/x64非托管so库,若需要架构的so,可以评论区留下email,到时我会发给大家。 以上就是C#实现聊天消息渲染与图文混排详解的详细内容,更多关于C#聊天消息渲染图文混排的资料请关注陆零网络相关文章! |