PDA

Просмотр полной версии : [C#] поток в *.jpg


ToniKapuchon
18.06.2008, 20:11
Собственно есть поток с картинкой, мошем строчку получить...!!
Как из строки (потока) поиметь картинку?

си шарп

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);
}