保存图像后,背景颜色变为黑色

时间:2018-07-10 13:59:04

标签: image image-processing word-cloud

我使用MVC和wordcloud块包。 我在带有白色背景的示例控制台应用程序上得到了一个wordcloud,但是在总是黑色背景的mvc应用程序中得到了一个wordcloud。我没有图像类知识。我需要您的帮助,谢谢。 示例代码:

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

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

1 个答案:

答案 0 :(得分:0)

我已经浏览了WordCloud的代码,以了解其如何绘制背景。看来它是用透明颜色绘制的。在将图片另存为jpeg之前,一切都很好。由于jpeg不支持透明度,因此您的背景颜色会被替换为任何颜色。

解决方案非常简单:使用支持透明性的某种格式,例如PNG。只需将您的保存行替换为

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

并享受透明背景下的精美图片。现代浏览器支持png,因此在MVC应用程序中使用这种格式的图片应该不是问题。