无法保存图像对象
image object couldn't be saved
我尝试获取 wordcloud 图像,所以我使用了两个列表词和频率,我得到了 wordcloud 但我使用 MVC C#,实际上我不知道如何发送这个控制器来查看,所以我决定保存图像对象作为 jpeg 文件,但保存函数出现错误 System.Runtime.InteropServices.ExternalException 一般错误。这是我的代码:
首先我通过 Twitter 获取趋势,并将它们存储为具有 29 个值的单词列表,其次我制作一个具有 29 个值的列表:
var trends = Trends.GetTrendsAt(1);
List<string> words = new List<string>();
List<int> frequencies = new List<int>();
foreach(var trend in trends.Trends)
{
if (g < 30)
{
words.Add(trend.Name);
g++;
}
}
for(int i = 29 ; i >= 1; i--)
{
frequencies.Add(i);
}
var wc = new WordCloudGen(1000, 600);
Bitmap y = new Bitmap(wc.Draw(words, frequencies));
myImageCodecInfo = GetEncoderInfo("image/jpeg");
myEncoder = Encoder.Quality;
myEncoderParameters = new EncoderParameters(1);
myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
y.Save("wordcloud.jpg", myImageCodecInfo, myEncoderParameters);
wc.Draw(words.frequencies) 实际上转换图像对象,我尝试将它转换为位图,所以我认为我可以毫无问题地将它保存为 jpeg 文件。
我是工程新手,所以我真的很困惑,我需要你的帮助,谢谢。
可能是您在尝试将文件保存到当前目录时遇到了文件夹权限问题。您可以尝试使用
之类的内容指定文件的完整路径
y.Save(Server.MapPath("~/App_Data/wordcloud.jpg"), myImageCodecInfo, myEncoderParameters);
看看它是否有效
我尝试获取 wordcloud 图像,所以我使用了两个列表词和频率,我得到了 wordcloud 但我使用 MVC C#,实际上我不知道如何发送这个控制器来查看,所以我决定保存图像对象作为 jpeg 文件,但保存函数出现错误 System.Runtime.InteropServices.ExternalException 一般错误。这是我的代码: 首先我通过 Twitter 获取趋势,并将它们存储为具有 29 个值的单词列表,其次我制作一个具有 29 个值的列表:
var trends = Trends.GetTrendsAt(1);
List<string> words = new List<string>();
List<int> frequencies = new List<int>();
foreach(var trend in trends.Trends)
{
if (g < 30)
{
words.Add(trend.Name);
g++;
}
}
for(int i = 29 ; i >= 1; i--)
{
frequencies.Add(i);
}
var wc = new WordCloudGen(1000, 600);
Bitmap y = new Bitmap(wc.Draw(words, frequencies));
myImageCodecInfo = GetEncoderInfo("image/jpeg");
myEncoder = Encoder.Quality;
myEncoderParameters = new EncoderParameters(1);
myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
y.Save("wordcloud.jpg", myImageCodecInfo, myEncoderParameters);
wc.Draw(words.frequencies) 实际上转换图像对象,我尝试将它转换为位图,所以我认为我可以毫无问题地将它保存为 jpeg 文件。
我是工程新手,所以我真的很困惑,我需要你的帮助,谢谢。
可能是您在尝试将文件保存到当前目录时遇到了文件夹权限问题。您可以尝试使用
之类的内容指定文件的完整路径y.Save(Server.MapPath("~/App_Data/wordcloud.jpg"), myImageCodecInfo, myEncoderParameters);
看看它是否有效