在 RichTextBox 中用图像替换文本

Replace text by image in RichTextBox

我正在尝试在 richTextBox 中实现选项以显示图形表情而不是文本表示。所以我基本上是在寻找用相应图片替换例如 ':)' 字符串的选项。

我在谷歌上搜索了很多,我找到的唯一简单/可行的解决方案是:

Clipboard.SetImage( Properties.Resources.angry  );
richTextBox1.Paste();

但这种方法有很大的缺点 - 它会覆盖剪贴板内容,因此可能会干扰用户

任何人都可以建议如何以其他方式(不使用剪贴板)做到这一点吗?

我也在考虑在操作后保存和恢复剪贴板内容 - 但为此我也找不到简单的方法...... 任何帮助/提示将不胜感激!

编辑

实际上剪贴板备份/恢复不是个好主意。注意到有时 OS / AVs 将其识别为 'dangerous' 操作并导致应用程序崩溃

仍在寻找其他方式/更好的 RTB(免费)组件 ...

EDIT-2

我在这里找到了可行的解决方案: Insert Image at Cursor Position in Rich Text box

但仍然不是 100% 满意,因为图像质量正在下降

经过数小时的谷歌搜索和测试,我似乎终于找到了避免 copy/paste 方法的方法。

感谢以下链接我找到了我的答案:

https://www.codeproject.com/Articles/30902/RichText-Builder-StringBuilder-for-RTF

https://github.com/axuno/SmartFormat/tree/master/src/SmartFormat.Demo/ThirdParty/RTFLib

https://www.bbsmax.com/A/RnJW28Dozq/