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

问题描述 投票:-1回答:2

见下面的例子 - 我已经尝试了一切(包括编辑图像和将bg颜色从透明变为白色),但静止图像背景显示为灰色。

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

Example

- 编辑 -

这是我的代码:

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

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

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

c# .net winforms richtextbox
2个回答
1
投票

问题不在于你的图像,而是富文本框无法处理图像中的透明度。所以你应该考虑使用另一个控件或者使背景颜色与richTextBox相同,希望它有所帮助


0
投票

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

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

编辑

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

(按指定替换透明色)

我现在的新代码如下:

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

编辑-2

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

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

希望这可以帮助遇到类似问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.