[C#] поток в *.jpg

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ToniKapuchon, 18 Jun 2008.

  1. ToniKapuchon

    ToniKapuchon Elder - Старейшина

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    Собственно есть поток с картинкой, мошем строчку получить...!!
    Как из строки (потока) поиметь картинку?

    си шарп
     
    #1 ToniKapuchon, 18 Jun 2008
    Last edited: 18 Jun 2008
  2. o_OBallers

    o_OBallers Banned

    Joined:
    11 Oct 2007
    Messages:
    23
    Likes Received:
    24
    Reputations:
    0
    Переменная потока скажем Stream.

    Вот так Stream.SaveToFile('C:\1.jpg');

    Если не так смотри текст класса потока.
     
    1 person likes this.
  3. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    Вообще зависит от содержимого потока , в каком формате картинка внутри (просто байты или 'готовый к записи' файл (с заполненными хидерами итп)) ...

    Вот пример , просто сохраняет поток на диск:
    Code:
    using System;
    using System.Windows.Forms;
    using System.IO;
    
    class MainClass
    {
      
      public static void SaveMemoryStream(MemoryStream ms, string FileName)
      {
        FileStream outStream = File.OpenWrite(FileName);
        ms.WriteTo(outStream);
        outStream.Flush();
        outStream.Close();
      }
    
      public static void Main() 
      {
        FileStream inStream = File.OpenRead("c:\\Bin.jpg");
        MemoryStream storeStream = new MemoryStream();
    
        storeStream.SetLength(inStream.Length);
        inStream.Read(storeStream.GetBuffer(), 0, (int)inStream.Length);
    
        storeStream.Flush();
        inStream.Close();
    
        SaveMemoryStream(storeStream, "C:\\picture.jpg");
        storeStream.Close();
      }
    }
    Преобразует в обьект bitmap , затем сохраняет
    Code:
    using (MemoryStream memoryStream = new MemoryStream(bytes))
    {
       Bitmap bitmap = new Bitmap(memoryStream);
         pictureBox1.Image = bitmap;
    bitmap.Save(@"C\pics\mypicwithtext.jpg", bitmap.RawFormat);
    }
     
    1 person likes this.