//功能:能在让图片文件转换为二进制文件,然后再让二进制文件转换为图片文件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;//这两个命名空间是必须的
using System.Drawing;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 把图片转换为二进制文件
/// </summary>
/// <param name="fileName">文件名(绝对路径)</param>
/// <returns></returns>
public byte[] SetimageToByteArray(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);//打开文件
int streamLength = (int)fs.Length;//计算文件的长度
byte[] image = new byte[streamLength];//新建一个能够保存二进制文件的变量
fs.Read(image, 0, streamLength);//从流中读取字节块并将该数据写入给定缓冲区中(image)。
fs.Close();
return image;
}
/// <summary>
/// 把二进制文件转换为图片文件
/// </summary>
/// <param name="mybyte"></param>
/// <returns></returns>
public Image SetByteToimage(byte[] mybyte)
{
Image image;
MemoryStream mymemorystream = new MemoryStream(mybyte,0,mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}
//private void reGdi()
//{
// Image MyIma;
// MyIma = this.pictureBox1.Image;
// Bitmap newPic = new Bitmap(MyIma.Width, MyIma.Height);
// Graphics g = Graphics.FromImage(newPic);
// g.DrawImage(MyIma, 0, 0, newPic.Width, newPic.Height);
// g.Dispose();
// this.pictureBox2.Image = newPic;
// }
/// <summary>
/// 点击时显示图片,我脱了一个控件picture.image=img;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
string name = "D:\\images\\image0.jpg";
byte[] itoby= SetimageToByteArray(name);
Image img= SetByteToimage(itoby);
pictureBox1.Image = img;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;//这两个命名空间是必须的
using System.Drawing;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 把图片转换为二进制文件
/// </summary>
/// <param name="fileName">文件名(绝对路径)</param>
/// <returns></returns>
public byte[] SetimageToByteArray(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);//打开文件
int streamLength = (int)fs.Length;//计算文件的长度
byte[] image = new byte[streamLength];//新建一个能够保存二进制文件的变量
fs.Read(image, 0, streamLength);//从流中读取字节块并将该数据写入给定缓冲区中(image)。
fs.Close();
return image;
}
/// <summary>
/// 把二进制文件转换为图片文件
/// </summary>
/// <param name="mybyte"></param>
/// <returns></returns>
public Image SetByteToimage(byte[] mybyte)
{
Image image;
MemoryStream mymemorystream = new MemoryStream(mybyte,0,mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}
//private void reGdi()
//{
// Image MyIma;
// MyIma = this.pictureBox1.Image;
// Bitmap newPic = new Bitmap(MyIma.Width, MyIma.Height);
// Graphics g = Graphics.FromImage(newPic);
// g.DrawImage(MyIma, 0, 0, newPic.Width, newPic.Height);
// g.Dispose();
// this.pictureBox2.Image = newPic;
// }
/// <summary>
/// 点击时显示图片,我脱了一个控件picture.image=img;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
string name = "D:\\images\\image0.jpg";
byte[] itoby= SetimageToByteArray(name);
Image img= SetByteToimage(itoby);
pictureBox1.Image = img;
}
}
}