winform程序获取项目根目录
我在Form1的窗体里有个Button1在Button1的单机事件中,我如何获取“img”文件夹的路径我需要保存图片到img文件夹下面我使用的是c#语言别给我debug的...
我在Form1的窗体里有个Button1
在Button1的单机事件中,我如何获取“img”文件夹的路径
我需要保存图片到img文件夹下面
我使用的是c#语言
别给我debug的路径··我不需要
我现在的问题是如何把我在其他地方打开的图片保存到根目录下的image文件夹而不是debug下的文件夹
我用的是image.save方法···指定路径的时候不知道怎么做
openImageDialog.Filter = "图片|*.*";
if (openImageDialog.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(openImageDialog.FileName);
img.save( ?????); 展开
在Button1的单机事件中,我如何获取“img”文件夹的路径
我需要保存图片到img文件夹下面
我使用的是c#语言
别给我debug的路径··我不需要
我现在的问题是如何把我在其他地方打开的图片保存到根目录下的image文件夹而不是debug下的文件夹
我用的是image.save方法···指定路径的时候不知道怎么做
openImageDialog.Filter = "图片|*.*";
if (openImageDialog.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(openImageDialog.FileName);
img.save( ?????); 展开
4个回答
展开全部
对于你的问题,我的理解为:你做了一个窗体程序,需要打开一张图片,然后存如你当前执行的文件同档姿腔级目录下的一个叫img的文件夹里。就是要保存到相对的册物exe文件同级的img文件夹。而不是写死了的路径。
在vs编写的程序,在debug文件夹里的文件就是你编写好的程序生成后产生的编译文件。可以将debug中的内容拷贝到其他位置去。也就是你做的应用程序了。运行其中的exe文件就可以。
而要保存图片行衫到你说所的根目录下,代码如下:
获取根目录:Application.StartupPath;
以下是代码,亲测可用:
openFileDialog1.Filter = "图片|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(openFileDialog1.FileName);
//文件名
string filename = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
//文件保存文件夹路径,此处【 Application.StartupPath 】就是根目录
//string savepath = Application.StartupPath + "\\img\\";
#region 保存路径为项目的根目录,从debug目录往上截取两级文件夹
string rootpath = Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\"));
rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\"));
//文件保存文件夹路径
string savepath = rootpath + "\\img\\";
#endregion
//文件保存路径+文件名
string imgSavepath = savepath + filename;
//判断是否存在img文件夹
if (Directory.Exists(savepath))
{
//存在img文件夹
//判断该路径下是否已经存在同名文件
if (File.Exists(imgSavepath))
{
//提示是否覆盖
if (DialogResult.Yes != MessageBox.Show("图片已存在!", "该图片已存在,是否覆盖原图片?", MessageBoxButtons.YesNo))
{
//点击【否】,返回,取消操作。
return;
}
}
}
else
{
//不存在,在根目录下创建img文件夹
Directory.CreateDirectory(savepath);
}
try
{
Image im = img;
Bitmap bit = new Bitmap(im);
bit.Save(imgSavepath, System.Drawing.Imaging.ImageFormat.Bmp);
MessageBox.Show("图片保存成功!");
}
catch{}
在vs编写的程序,在debug文件夹里的文件就是你编写好的程序生成后产生的编译文件。可以将debug中的内容拷贝到其他位置去。也就是你做的应用程序了。运行其中的exe文件就可以。
而要保存图片行衫到你说所的根目录下,代码如下:
获取根目录:Application.StartupPath;
以下是代码,亲测可用:
openFileDialog1.Filter = "图片|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(openFileDialog1.FileName);
//文件名
string filename = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
//文件保存文件夹路径,此处【 Application.StartupPath 】就是根目录
//string savepath = Application.StartupPath + "\\img\\";
#region 保存路径为项目的根目录,从debug目录往上截取两级文件夹
string rootpath = Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\"));
rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\"));
//文件保存文件夹路径
string savepath = rootpath + "\\img\\";
#endregion
//文件保存路径+文件名
string imgSavepath = savepath + filename;
//判断是否存在img文件夹
if (Directory.Exists(savepath))
{
//存在img文件夹
//判断该路径下是否已经存在同名文件
if (File.Exists(imgSavepath))
{
//提示是否覆盖
if (DialogResult.Yes != MessageBox.Show("图片已存在!", "该图片已存在,是否覆盖原图片?", MessageBoxButtons.YesNo))
{
//点击【否】,返回,取消操作。
return;
}
}
}
else
{
//不存在,在根目录下创建img文件夹
Directory.CreateDirectory(savepath);
}
try
{
Image im = img;
Bitmap bit = new Bitmap(im);
bit.Save(imgSavepath, System.Drawing.Imaging.ImageFormat.Bmp);
MessageBox.Show("图片保存成功!");
}
catch{}
展开全部
这个是你自己定的啊,别人哪里知道???和散
你用的那个什么FolderBrowserDialog 控件么?SelectedPath 就是路径
你把我说晕了,你用OpenFIleDialog打开一个文件,然后把文件再存入该文件所在的路径,是这个意思么?
项目下的image文件夹,我们以前的代码都是Application.ExecutablePath+ "\\image"
是在不知道你的这个“项目下”是什么意思啊。
为什么要唤耐氏在亩备程序的路径下呢?Application.StartupPath 不就可以了么?发布程序时就是发布Release文件夹啊。你可以将image文件夹放在这下面,也就是Application.StartupPath + "\\image"。我们的项目都是这样做的。
你说的那个路径我的确是不知道。
你用的那个什么FolderBrowserDialog 控件么?SelectedPath 就是路径
你把我说晕了,你用OpenFIleDialog打开一个文件,然后把文件再存入该文件所在的路径,是这个意思么?
项目下的image文件夹,我们以前的代码都是Application.ExecutablePath+ "\\image"
是在不知道你的这个“项目下”是什么意思啊。
为什么要唤耐氏在亩备程序的路径下呢?Application.StartupPath 不就可以了么?发布程序时就是发布Release文件夹啊。你可以将image文件夹放在这下面,也就是Application.StartupPath + "\\image"。我们的项目都是这样做的。
你说的那个路径我的确是不知道。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Application.StartupPath + "\\img\\"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拖枣乎一个SaveFileDialog在界面上
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
var fileName = exportFileDialog.FileName;
…猜岩亏…
……穗神
}
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
var fileName = exportFileDialog.FileName;
…猜岩亏…
……穗神
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询