关于使用图片的一点疑惑!

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:58:12
图片在运行前在属性框加载上去的 移动到别的电脑上还能运行,图片也能显示出来 !可别的电脑里并没有我里面的照片,这是怎么回事??
给我讲下吧!

但是!我在别的程序中,运行中如果用到这一句: picture1.picture=loadpicture("路径") 就提示找不到路径!

问题1: 你在属性框添加的图片,当你保存工程时,会在工程目录生成一个Form1.frx文件(默认情况下), 这个其实就是图片了,当你编译成程序时,这个图片是直接加载到EXE文件里面的,所以在哪台电脑上运行都会显示出图片的

问题2:
你在你的代码中添加:
picture1.picture=loadpicture("c:\1.jpg")
首先,你就要确保你的C盘有这个1.jpg文件..
这样的代码,生成为EXE后,并不会把C盘的1.jpg存到EXE文件里面, 它的运行环境也必须需要对方在C盘目录下有1.jpg才行.

所以,当你使用loadpicture方式在代码中加载图片的方式时,就要保证把图片也放到对方计算机的相应目录下.

当你通过picture 属性框加载一个图片后(类似的还有imagelist 图片组, 一个picture只能固定一张.),实际上图片已经被程序读入,编译后的文件又包括了图片文件(被包裹)
而你通过代码 loadpicture()来实现加载,这样是实时操作(运行时才读图片 不会包裹),有很大的优点 比如更换等等.但()里的是代码执行时需要获取的路径,这个路径就表示图片的位置,自然而然你会明白为什么 会提示你错误.