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

时间:2019-04-03 22:55:49

标签: c# .net winforms richtextbox

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

有人知道如何解决吗?

Example

-编辑-

这是我的代码:

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

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

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

2 个答案:

答案 0 :(得分:1)

问题不在于您的图像,而是richTextBox无法处理图像的透明度。因此,您应该考虑使用其他控件或使背景颜色与richTextBox相同,希望对您有所帮助

答案 1 :(得分:0)

我已经解决了通过将* .png转换为* .jpg(bmp和tiff也起作用)

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

编辑

我在这里找到了解决方案: https://stackoverflow.com/a/27318979/77273

(通过指定替换透明颜色)

我现在的新代码如下:

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

EDIT-2

我刚刚发现了为什么即使我编辑了图片并替换了白色的透明背景也显示灰色背景的原因。... (这实际上导致我走错了方向)

  • 我刚刚使用相同的名称替换了资源中的img
  • 原来是VS以某种方式“缓存”了旧版本的图片
  • 当我使用其他名称或从资源中删除文件并再次复制时,它开始工作

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