例如在E盘工程目录Bin下有一个Image文件夹,在文件夹下放了一张Image.jpg图片,那么:
相对路径:就是从当前路径开始的路径,例如,当前路径是“E:\Bin”,那么指定前面范例的文件,可以直接写“Image\Image.jpg”。
绝对路径:就是从盘符开始的路径,例如:“E:\Bin\Image\Image.jpg”。
从功能上讲:
访问每台电脑上路径都固定不变的文件,需要用绝对路径,例如访问 c:\boot.ini。
如果程序所在路径不固定,访问的文件和程序放在一起,就要用相对路径。例如和程序放在一起的图片文件。
下面从图片加载的角度来说明编程上的区别:
1.使用相对路径,使用过程中
/*
./表示当前目录下
../表示当前目录的上一级目录
"Image\\Image.jpg"也表示当前Image目录下的Image.jpg
*/
CPaintDC dc(this); // device context for painting
CRect rc;
GetWindowRect(&rc);
CImage mImage;
if(mImage.Load(_T("./Image/Image.jpg")) == S_OK)
{
//这里让图片绘制区域和窗口大小一致
mImage.Draw(GetDC()->GetSafeHdc(), CRect(0,0,rc.Width(),rc.Height()));
}
2.使用绝对路径
CPaintDC dc(this); // device context for painting
CRect rc;
GetWindowRect(&rc);
CImage mImage;
if(mImage.Load(_T("E:/Bin/Image/Image.jpg")) == S_OK) //"E:\\Bin\\Image\\Image.jpg"
{
//这里让图片绘制区域和窗口大小一致
mImage.Draw(GetDC()->GetSafeHdc(), CRect(0,0,rc.Width(),rc.Height()));
}