每次将图像保存到硬盘时,如何在pictureBox1中实时显示?

时间:2015-05-27 21:22:39

标签: c# .net winforms

我在项目中添加了一个新表单:我调用了新表单Images.cs 在新的Form构造函数中,我正在调用一个名为Test的方法:

public Images()
        {
            InitializeComponent();

            Test();
        }

这是测试方法:

Bitmap bmp = new Bitmap(@"e:\test.bmp");
Bitmap bmp1 = ImageTrim.ImagesTrim(bmp);
bmp1.Save(@"e:\Image\image" + imagescount.ToString() + ".bmp",                              System.Drawing.Imaging.ImageFormat.Bmp);
bmp1.Dispose();
bmp.Dispose();
filePaths = Directory.GetFiles(@"e:\Image\", "*.bmp");
Bitmap newbmp = new Bitmap(filePaths[0]);
Form1 f1 = new Form1();
f1.bmptoshow = newbmp;
Form1.pb1.Image = newbmp;
Form1 f1 = new Form1();
f1.bmptoshow = newbmp;
newbmp.Dispose();
imagescount++;

变量imagescount是一个全局的int。

变量filePaths是string [],我也将它设为全局,也是公共的。

在这种情况下,filePaths包含2个项目。

我想将bmp图像文件的第一项传递给Form1 pictureBox1,并在Form1 pictureBox1中显示bmp文件。

在form1中我做了什么:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace WebBrowserScreenshots.cs
{
    public partial class Form1 : Form
    {
        public static PictureBox pb1 = new PictureBox();

        public Form1()
        {
            InitializeComponent();

            pictureBox1.Image = pb1.Image;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            WebBrowserScreenshots wbss = new WebBrowserScreenshots();

        }

        public Bitmap bmptoshow
        {
            set
            {
                this.pictureBox1.Image = value;
            }
        }
    }
}

使用Form1中的bmptoshow或Form1中的public static pb1,不要在Form1中的pictureBox1上显示任何内容。

1 个答案:

答案 0 :(得分:0)

因此,一旦保存图像,您想在PictureBox中显示该图像吗?我的头脑你可以实现这个:

public void imageSaved(){

if(File.exists(//Whatever your file name is, to check it actually saved){
PictureBox1.image = //Image location
}
else{
MessageBox.show("Image didnt save!");
}
}