c#ピクチャとバイナリストリームの相互変換
1649 ワード
個人的にはこれが面白いと思いますが、画像をバイナリストリームに変換してデータベースに保存し、自分のプライベート写真を保存するために変換することができます.
2つの関数コードは次のとおりです.
2つの関数コードは次のとおりです.
#region//
public void PictureToBinaryStream()
{
//
string path = Application.StartupPath;
//
string fullPath = path + "\\images\\test.png";
//
Bitmap bmp = new Bitmap(Image.FromFile(fullPath));
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.Flush();
// byte
byte[] bmpBytes = ms.ToArray();
// richTextBox1.Text = Convert.ToBase64String(bmpBytes);
foreach (var item in bmpBytes)
{
richTextBox1.Text += item;
}
pictureBox1.Image = Image.FromStream(new MemoryStream(bmpBytes));
}
#endregion
#region//
public void BinaryStreamToPicture()
{
string url = @"http://php.weather.sina.com.cn/images/yb3/78_78/duoyun_0.png";
WebClient client = new WebClient();
byte[] pageData = client.DownloadData(url);
//
pictureBox1.Image = Image.FromStream(new MemoryStream(pageData));
Bitmap bmp = new Bitmap(new MemoryStream(pageData));
string path = Application.StartupPath;
string fullPath = path + "\\images\\"+ Guid.NewGuid().ToString()+".png";
richTextBox1.Text = fullPath;
bmp.Save(fullPath, System.Drawing.Imaging.ImageFormat.Png);
}
#endregion