不知所云,你倒底是哪段代码指向了流的中间位置?Position和Length属性不一样?save后肯定是指向末尾的,那样的流要被读取,肯定是什么都读不到的,不重定位流的位置,就读不到任何东西,“流”就是这么一个由当前位置走下去的一个概念,写入或读取它都不管位置,只从当前开始处理,因此中断了都无所谓,位置由“流”自身来记录。
总结下吧,image.fromstream(stream)这个函数不需要stream的position为零。可能在执行时自动会把stream的position属性修改为零。 而image.save(stream,format)这个函数运行后会修改stream的position属性值。所以如果想把这个流的内容拷贝到另一个流时需要先把positon设置为零后再拷贝。 ……
直接Image.FromFile更好,你居然要转弯,至于失败的原因是你没有重定位stream的Position到0,在你刚写入到stream后,Position指向了流的末尾,这种情况下加载它必定失败。
110,536
社区成员
642,578
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧