c#如何把stream流转换为jpg图片?
答案:3 悬赏:10 手机版
解决时间 2021-04-13 22:17
- 提问者网友:我是女神我骄傲
- 2021-04-13 06:53
c#如何把stream流转换为jpg图片?
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-04-13 07:47
如果stream本身就是从一个jpg里读出来的,直接用fileStream写成xxx.jpg就OK了追问原来stream也分为jpg的stream,gif的stream,bmp的stream啊,我以前,所有图片格式得到的stream都是一模一样的...追答这是对任意文件复制的代码:
static void Main(string[] args)
{
//打开一个已有文件
FileStream inStream = new FileStream("29副本.jpg", FileMode.Open);
//新建一个目标文件,如果文件已存在会抛错
FileStream outStream = new FileStream("副本-29副本.jpg", FileMode.CreateNew);
Int32 i = 0;
//循环inStream,将内容写进outStream
while (true)
{
i = inStream.ReadByte();
if (i != -1)
{
outStream.WriteByte((Byte)i);
}
else
{
break;
}
}
//关闭文件
outStream.Close();
inStream.Close();
}追问那个,我得到的图片是腾讯验证码,应该不是直接从jpg读取的吧?反正我知道可以直接转换为image,不知道img与jpg的关系是什么?img应该不是一个图片格式把,不太懂,另外,求img存储为本地jpg图片的代码....万分感谢...追答唔,验证码?如果那是一个文件流的话,你就直接从Response.GetResponseStream里读到文件里面
如果是普通浏览器上的验证码的话,那玩意似乎有点麻烦,没研究过。。。反正在本地系统缓存里,怎么取的话暂时没想到追问不是啦,我已经把其转换为img啦,通过以下的代码...
Image image = Image.FromStream(s);
现在的问题是,我不知道怎么把Image这个格式的流存储为本地jpg格式...追答明白了。。。但是我真没做过这件事,明天帮你查一下看看这个Image对象的用法追问你如果想百度或者谷歌的话,我劝你放弃吧,因为我查遍了...来自:求助得到的回答
static void Main(string[] args)
{
//打开一个已有文件
FileStream inStream = new FileStream("29副本.jpg", FileMode.Open);
//新建一个目标文件,如果文件已存在会抛错
FileStream outStream = new FileStream("副本-29副本.jpg", FileMode.CreateNew);
Int32 i = 0;
//循环inStream,将内容写进outStream
while (true)
{
i = inStream.ReadByte();
if (i != -1)
{
outStream.WriteByte((Byte)i);
}
else
{
break;
}
}
//关闭文件
outStream.Close();
inStream.Close();
}追问那个,我得到的图片是腾讯验证码,应该不是直接从jpg读取的吧?反正我知道可以直接转换为image,不知道img与jpg的关系是什么?img应该不是一个图片格式把,不太懂,另外,求img存储为本地jpg图片的代码....万分感谢...追答唔,验证码?如果那是一个文件流的话,你就直接从Response.GetResponseStream里读到文件里面
如果是普通浏览器上的验证码的话,那玩意似乎有点麻烦,没研究过。。。反正在本地系统缓存里,怎么取的话暂时没想到追问不是啦,我已经把其转换为img啦,通过以下的代码...
Image image = Image.FromStream(s);
现在的问题是,我不知道怎么把Image这个格式的流存储为本地jpg格式...追答明白了。。。但是我真没做过这件事,明天帮你查一下看看这个Image对象的用法追问你如果想百度或者谷歌的话,我劝你放弃吧,因为我查遍了...来自:求助得到的回答
全部回答
- 1楼网友:渊鱼
- 2021-04-13 08:44
更改格式就行了
- 2楼网友:孤独的牧羊人
- 2021-04-13 07:59
创建bitmap读取流,然后他有save方法。
Bitmap bt = new Bitmap(//stream); stream你读取的流。
bt.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 保存为jpg。
还有别忘了bt.Dispose();追问我说的是jpg不是jpeg啊
Bitmap bt = new Bitmap(//stream); stream你读取的流。
bt.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 保存为jpg。
还有别忘了bt.Dispose();追问我说的是jpg不是jpeg啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯