2013-05-20 5 views
1

Я хочу отправить свое изображение через сеть с помощью TcpClient и NetworkStream.Как преобразовать изображение в байт []?

тип изображения (System.Windows.Controls.Image)

теперь, как я могу преобразовать мое изображение в байтах?

спасибо.

+0

возможный дубликат [WPF изображения в байт \ [\]] (http://stackoverflow.com/questions/553611/wpf-image-to-byte) – Clemens

+0

Пожалуйста, обратите внимание на ответ на упомянутый выше вопрос. Ответы здесь либо не о WPF, либо полностью вне темы. – Clemens

ответ

1

вам придется сериализовать свое изображение, чтобы отправить его через сеть.

Image im = Image.FromFile(@"C:\hello.jpg"); 
MemoryStream ms = new MemoryStream(); 
im.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
byte[] Barray = ms.ToArray(); 

string str = string.Empty; 
foreach (byte b in oImage) 
{ 
    str += b.ToString(); 
} 
0

Hope Below Code Help You.if вы разрешаете пользователю загружать изображение.

FileStream fs; 
fs = new FileStream(OpenImage.FileName, FileMode.Open, FileAccess.Read); 
byte[] picByte; 
picByte = new byte[Convert.ToInt32(fs.Length)]; 
fs.Read(picByte, 0, Convert.ToInt32(fs.Length)); 
fs.Close(); 

Здесь OpenImage - это OpenFileDialog Control.

0

Я бы предложил преобразовать изображение в формат PNG, поскольку у меня было много проблем из-за JPEG. Попробуйте приведенный ниже код

byte[] b1=null; 
ByteArrayOutputStream baos=new ByteArrayOutputStream(); 
ImageIO.write(img, "png", baos); 
b1=baos.toByteArray(); 
Смежные вопросы