RichTextbox - 如何更改我粘贴的图像背景

RichTextbox - how change background of image Ive paste

参见下面的示例 - 我尝试了所有方法(包括编辑图像并将背景色从透明更改为白色),但静止图像背景显示为灰色。

有谁知道如何解决这个问题?

-- 编辑--

这是我的代码:

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

我看到其他人也有类似的问题: Image background after insert into RichTextBox

我也尝试过那里提到的解决方案

我刚刚通过将 *.png 转换为 *.jpg 解决了这个问题(bmp 和 tiff 也有效)

非常感谢大家的帮助。 我认为问题在于图像透明背景,这就是转换有帮助的原因。 在我的例子中,我不需要透明度,只是想避免看到周围的框架

编辑

我在这里找到了解决方案:

(指定透明色替换)

我现在的新代码如下:

Clipboard.SetImage( Transparent2Color (Properties.Resources.angry, Color.White)  );
richTextBox1.Paste();

EDIT-2

我刚刚发现为什么即使我编辑图片并将透明背景替换为白色也显示灰色背景.... (这实际上让我误入歧途)

  • 我刚刚用相同的名称替换了资源中的 img
  • 原来VS莫名其妙'cache'旧版图片
  • 当我使用其他名称或从资源中删除文件并再次复制时它开始工作

希望这对遇到类似问题的人有所帮助。

问题不在于你的图像,而是 richTextBox 无法处理 image.So 中的透明度这一事实你应该考虑使用另一个控件或使背景颜色与 richTextBox 相同,希望它有所帮助