Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [C#] поток в *.jpg (https://forum.antichat.xyz/showthread.php?t=74172)

ToniKapuchon 18.06.2008 20:11

[C#] поток в *.jpg
 
Собственно есть поток с картинкой, мошем строчку получить...!!
Как из строки (потока) поиметь картинку?

си шарп

o_OBallers 20.06.2008 16:43

Переменная потока скажем Stream.

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

Если не так смотри текст класса потока.

Jes 21.06.2008 13:16

Вообще зависит от содержимого потока , в каком формате картинка внутри (просто байты или 'готовый к записи' файл (с заполненными хидерами итп)) ...

Вот пример , просто сохраняет поток на диск:
Код:

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 , затем сохраняет
Код:

using (MemoryStream memoryStream = new MemoryStream(bytes))
{
  Bitmap bitmap = new Bitmap(memoryStream);
    pictureBox1.Image = bitmap;
bitmap.Save(@"C\pics\mypicwithtext.jpg", bitmap.RawFormat);
}



Время: 23:01