STTextBox
是我和我的朋友netero使用GDI
构建的一个WinForm
控件,可以支持Emoji
我们采用MIT开源协议,使用.Net3.5
+ vs2010
构建的项目,所以几乎可以兼容任何VS版本,
在开发的过程中我们还衍生出两个额外的开源项目:
emoji-svg-render, STGraphemeSplitter
因为能力有限,很多功能我们都无法很好的实现,所以将一些有代表性的功能独立成了接口。 如果有能力且愿意去修改它们的开发者可以直接继承接口实现,不用在项目中到处找代码了。
你可以在STTextBox
中使用Emoji
,在demos_bin
的样例我们使用的是推特的表情符twemoji.
更多信息可以查看: emoji-svg-render
在STTextBox
中的所有颜色你都可以使用alpha
通道,当然代价就是渲染的速度会变慢。
你可以自定义文本样式,通过实现ITextStyleMonitor
接口,在STTextBox
中内置了4个样式监视器。
KeyWorldStyleMonitor
CSharpStyleMonitor
LinkStyleMonitor
SelectionStyleMonitor
。
注意:STTextBox
的渲染速度和内容没太大关系,而是和当前UI中需要绘制的字符个数有关,因为一些原因我们采用的是逐个字符绘制。
为了让颜色可以使用Alpha
通道,所以我们并没有对绘制的内容做缓存处理,因为背景可能是变化的。而且要做缓存也是一个麻烦事情。
所以我们暂时没有考虑极端情况的渲染速度。
- Github: DebugST
- Blog: Crystal_lz
- Mail: ([email protected])
- TG: DebugST