Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 图像保存后,背景色变为黑色_Image_Image Processing_Word Cloud - Fatal编程技术网

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

Image 图像保存后,背景色变为黑色,image,image-processing,word-cloud,Image,Image Processing,Word Cloud,我使用MVC和wordcloud nugget包。 我在示例控制台应用程序中得到了一个背景为白色的wordcloud,但在mvc应用程序中得到了一个背景始终为黑色的wordcloud。我对形象课不太了解。我需要你的帮助,谢谢。 示例代码: var wc = new WordCloudGen(1000, 600); Image y =wc.Draw(words, frequencies); y.Save(System.IO.Path.GetTempPath() + "\\123.Jpeg",

我使用MVC和wordcloud nugget包。 我在示例控制台应用程序中得到了一个背景为白色的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项目中更改(我找不到)。nugget软件包管理器中的wordcloud项目:

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

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

y.Save(System.IO.Path.GetTempPath() + "\\123.png", ImageFormat.Png);
享受一张透明背景的漂亮图片。现代浏览器支持png,所以在MVC应用程序中使用这种格式的图片应该不会有问题