[code=C#]   
 private void SaveISF(Stream s){
            byte[] isf;
            ExtendedProperties inkProperties = myInkCollector.Ink.ExtendedProperties;
            isf = myInkCollector.Ink.Save(PersistenceFormat.InkSerializedFormat);
            s.Write(isf, 0, isf.Length);
            Stream stream = new MemoryStream(isf);
            stream.Position = 0;
            Image img = Image.FromStream(stream);//这里报参数无效
}
[/cod
请问到底是什么原因

解决方案 »

  1.   

    那就是stream中数据不符合image的图像规则吧
      

  2.   

    我不知道你这个函数的的参数Stream s是干嘛用的,这里显然用不到。
    private void SaveISF()
    {
      byte[] isf;
      ExtendedProperties inkProperties = myInkCollector.Ink.ExtendedProperties;
      isf = myInkCollector.Ink.Save(PersistenceFormat.InkSerializedFormat);
      Stream stream = new MemoryStream();
      stream.Write(isf, 0, isf.Length);
      stream.Position = 0;
      Image img = Image.FromStream(stream);//这里报参数无效
    }
      

  3.   

    stream.Seek(0, SeekOrigin.Begin);而不是stream.Position = 0;
      

  4.   

    我想实现的功能就是把byte[] isf;
    转成图片或者把stream转成图片,只要转成图片就行,
    我这样写就是报错
      

  5.   

               OpenFileDialog openFileDialog1 = new OpenFileDialog();
               if (openFileDialog1.ShowDialog() == DialogResult.OK)
               {
                 FileStream ms = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read, FileShare.Read, 20480, false);
                  byte[] picbyte = new byte[ms.Length];              ms.Seek(0, SeekOrigin.Begin);
                 ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
                 ms.Close();
                //以上是file转换byte类型 下面是byte转换为image
               MemoryStream ms1 = new MemoryStream(picbyte, true);
                  this.pictureBox1.Image = Image.FromStream(ms1);
                 ms1.Close();
               }
      

  6.   

    InkSerializedFormat不是图像格式,不能这样转...
      

  7.   

    比如说我现在保存的是isf格式的,我想把这个墨迹保存为图片,只能绘制吗
    如果绘制的话要怎么绘制?
      

  8.   

    没注意到你的那个不是图片格式,你Save的时候换成Gif格式应该可以。
    isf = myInkCollector.Ink.Save(PersistenceFormat.Gif);