如何用C# 打开和保存BMP文件

来源:百度知道 编辑:UC知道 时间:2024/09/20 16:45:59
思路:使用MenuStrip控件,当点击下拉菜单中的打开时,弹出打开对话框,点击另存为时,弹出另存为对话框
做法:建立Form1窗体,pictureBox1图片框,menuSrip1下拉列表控件
private void 打开图像ToolStripMenuItem_Click(object sender, EventArgs e)
{
Stream myStream;
OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.InitialDirectory = "C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures";
openFileDialog1.Filter = "BMP图形文件 (*.bmp)|*.bmp";
openFileDialog1.FilterIndex = 1;
openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
pictureBox1.Image = new Bitmap(openFileDialog1.FileName);
/*至此可以打开图片,并显示在图片框控件当中,但

操作如下:
  Bitmap _Bitmap = (Bitmap)Image.FromFile(@"c:\1.BMP");
BitmapData _BitmapData = _Bitmap.LockBits(new Rectangle(0, 0, _Bitmap.Width, _Bitmap.Height), ImageLockMode.ReadWrite, _Bitmap.PixelFormat);
byte[] _Value = new byte[_BitmapData.Stride * _BitmapData.Height];
Marshal.Copy(_BitmapData.Scan0, _Value, 0, _Value.Length);
写回去还是用 Marshal.Copy.

image to byte[]

Image photo = new Bitmap(selectPictureFile);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
photo.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imagedata = ms.GetBuffer();

byte[] to image

System.IO.MemoryStream ms = New IO.MemoryStream(imagedata)
Bitmap b = new Bitmap(ms);

后面的 保存
pictureBox2.Image.Save(saveFileDialog1.FileName , System.Drawing.Imaging.ImageFormat.Bmp);

至于你后面的直接保存,就留下前面的saveFileDialog1.FileName,然后
pictureBox2.Im