【问题标题】:saveFileDialog-Image: Select image and then save it in another foldersaveFileDialog-Image:选择图像,然后将其保存在另一个文件夹中
【发布时间】:2018-11-09 22:03:30
【问题描述】:

我正在创建一个应用程序,我想创建一个标签,单击该标签时将打开一个“openFileDialog”,用户将选择一个 .jpg 或 .png 图像,然后这个选定的图像将被复制到预定义的目录(特定文件夹)。

现在,我有一个单独的标签按钮,单击它时会打开一个“openFileDialog”,然后选定的图片会显示在图片框中。 我不知道的是如何抓取这张选定的图片,并将其复制到预定义的目录中。

我还想在将它复制到目录时以某种方式重命名它,以便稍后按添加日期缩短图片并通过另一个标签按钮显示它们。

这是我的第一个按钮的代码:

private void addlabel_MouseClick(object sender, MouseEventArgs e)
    {
        Image File;
        OpenFileDialog f = new OpenFileDialog();
        f.Filter = "Image files (*.jpg, *.png) | *.jpg; *.png";

        if (f.ShowDialog() == DialogResult.OK)
        {
            File = Image.FromFile(f.FileName);
            pictureBox3.Image = File;
        }
    }

提前致谢!

【问题讨论】:

  • 为什么需要抓取选中的图片?你有文件名(f.FileName),因为你使用它,所以你清楚地知道它。因此,无论您是否将文件加载到图片框中,您都有复制文件所需的文件名。因此,请对如何在 C# 中复制文件 进行一些研究。您可以在复制时将其重命名为您想要的任何名称。

标签: c# openfiledialog savefiledialog


【解决方案1】:

类似

    if (f.ShowDialog() == DialogResult.OK)
    {
        File = Image.FromFile(f.FileName);
        pictureBox3.Image = File;
        File.Copy(f.FileName, @"C:\MyDestination\" + f.SafeFileName;
    }

https://msdn.microsoft.com/en-us/library/c6cfw35a(v=vs.110).aspxhttps://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    试试

    pictureBox3.Image.Save(specific_folder + "\\" + f.SafeFileName);
    

    如下:

    private void addlabel_MouseClick(object sender, MouseEventArgs e)
    {
        Image File;
        OpenFileDialog f = new OpenFileDialog();
        f.Filter = "Image files (*.jpg, *.png) | *.jpg; *.png";
    
        if (f.ShowDialog() == DialogResult.OK)
        {
            File = Image.FromFile(f.FileName);
            pictureBox3.Image = File;
            pictureBox3.Image.Save(specific_folder + "\\" + f.SafeFileName);
        }
    }
    

    【讨论】:

    • 抱歉回复晚了!这将从pictureBox3中获取图像并将其保存到specific_folder,对吗?如果我是正确的,不要从它的原始路径复制它。还有一件事, f.SafeFileName 究竟做了什么?谢谢!
    • SafeFileName 返回一个字符串,其中只包含所选文件的文件名而不是完整路径。
    猜你喜欢
    • 2016-01-17
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多