Я хочу отправить свое изображение через сеть с помощью TcpClient и NetworkStream.Как преобразовать изображение в байт []?
тип изображения (System.Windows.Controls.Image)
теперь, как я могу преобразовать мое изображение в байтах?
спасибо.
Я хочу отправить свое изображение через сеть с помощью TcpClient и NetworkStream.Как преобразовать изображение в байт []?
тип изображения (System.Windows.Controls.Image)
теперь, как я могу преобразовать мое изображение в байтах?
спасибо.
вам придется сериализовать свое изображение, чтобы отправить его через сеть.
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();
}
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.
Я бы предложил преобразовать изображение в формат PNG, поскольку у меня было много проблем из-за JPEG. Попробуйте приведенный ниже код
byte[] b1=null;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIO.write(img, "png", baos);
b1=baos.toByteArray();
возможный дубликат [WPF изображения в байт \ [\]] (http://stackoverflow.com/questions/553611/wpf-image-to-byte) – Clemens
Пожалуйста, обратите внимание на ответ на упомянутый выше вопрос. Ответы здесь либо не о WPF, либо полностью вне темы. – Clemens