您的位置:首页 > 编程语言 > C#

C#实现上传下载图片

2018-07-20 08:38 656 查看

本文实例为大家分享了C#实现上传下载图片的具体代码,供大家参考,具体内容如下

1.首先我们通过流来上传下载图片,所有操作只停留在流这一层

MemoryStream ms;
//左侧按钮
private void button1_Click(object sender, EventArgs e)
{
ms = new MemoryStream();
Image bi =pictureBox1.Image;
bi.Save(ms, pictureBox1.Image.RawFormat);//将图片存入流中
}
//右侧按钮
private void button2_Click(object sender, EventArgs e)
{
Image img = Image.FromStream(ms, true);
pictureBox2.Image = img;
ms.Close();
}

分别点击左侧和右侧按钮,则将左侧图片加载到右侧:(PictureBox的SizeMode属性可以设置图片的填充方式)

2.通过将图片转化为流然后转化为字节;将字节转化为流,然后加载图片

图片转化为字节的代码:

public static byte[] ImgToByte(Image img, System.Drawing.Imaging.ImageFormat imgFormat)
{
Bitmap bmp = new Bitmap(img);
MemoryStream memStream = new MemoryStream();
bmp.Save(memStream, imgFormat);
memStream.Seek(0, SeekOrigin.Begin); //及时定位流的开始位置
byte[] btImage = new byte[memStream.Length];
memStream.Read(btImage, 0, btImage.Length);
memStream.Close();
return btImage;
}

字节转化为图片的代码:

public static Image ByteToImg(byte[] btImage)
{
MemoryStream memStream = new MemoryStream();
//Stream memStream = null;
memStream.Write(btImage, 0, btImage.Length);
memStream.Position = 0;
memStream.Seek(0, SeekOrigin.Begin);
//Bitmap bmp = new Bitmap(memStream, true);
Image img;
try
{
img = Image.FromStream(memStream, true);
memStream.Close();
//img = new Bitmap(memStream);
}
catch (Exception ex)
{
img = null;
MessageBox.Show(ex + "");
}
finally
{
memStream.Close();
}
return img;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# 上传 下载