图片保存后,背景颜色变黑

after image saving ,background color become black

我使用 MVC 和 wordcloud nugget 包。 我在带有白色背景的示例控制台应用程序上得到一个 wordcloud,但在始终为黑色背景的 mvc 应用程序中得到一个 wordcloud。我不了解图像 class。我需要你的帮助谢谢。 示例代码:

 var wc = new WordCloudGen(1000, 600);
 Image y =wc.Draw(words, frequencies);
 y.Save(System.IO.Path.GetTempPath() + "\123.Jpeg", ImageFormat.Jpeg);

我认为这是因为我保存图像对象的方式,但也许它可以在 wordcloud 项目中更改(我找不到它。)nugget 包管理器中的 wordcloud 项目:wordcloud link

我看了WordCloud的代码,看看它是如何绘制背景的。它似乎用 透明 颜色绘制它。在将图片保存为 jpeg 之前,一切都很好。由于 jpeg 不支持透明度,因此您的背景颜色会被替换成任何颜色。

解决方法很简单:使用一些支持透明的格式,例如PNG。只需将您的保存行替换为

y.Save(System.IO.Path.GetTempPath() + "\123.png", ImageFormat.Png);

并欣赏一张透明背景的漂亮照片。现代浏览器支持 png,因此在 MVC 应用程序中使用该格式的图片应该不是问题。