论文部分内容阅读
摘要:随着电脑应用的深入和普及,在计算机人事信息管理过程中,多媒体信息的处理方法和手段已经成为计算机信息处理的一个热门话题。该文探讨了数据库图像存储、处理以及在程序设计中如何还原和再现的一系列问题,对于学习数据库编程具有非常重要的参考和借鉴意义。
关键词:相片的存储;编辑处理;多媒体数据类型;相片文件与链接法
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-1040-03
The Database Image Processing Methods
JIANG Shu-hua
(Senior Technical School in Dongguan of Guangdong, Dongguan 523000, China)
Abstract: With the deepening of computer application and popularization of information in the computer and personnel management process, the multimedia information processing method and means of dealing with computer information has become a hot topic. This paper discusses the database image storage, processing, as well as in the process of reproduction and how to restore a range of issues, the study database programming is very important reference and learn.
Key words: A photo of the store; edit processing; multimedia data types; photos documents and links
1 引言
通俗地讲,计算机多媒体信息一般指除文字、字符外的声音,图形、图像和视频流等信息。当今计算机能够处理多媒体信息,使人机交流大大地向前跨出了一大步,也使电子档案能够完全取代传统(手工记录)的人事档案奠定了基础。
当然多媒体信息的处理需要用到很多相关软件,甚至还要用到一些硬件设备。软件方面有图形图像处理软件如:PhotoShop,AcdSee,CoreDraw及扫描,音频、视频播放编辑软件等;硬件方面有数码相机、扫描仪、摄像头、摄像机、视频解压卡等。由于篇幅所限,本文仅讨论常见电子档案中的相片处理方法和技巧,供大家参考。
2 如何将相片存储到计算机。
要将个人相片存储到计算机,目前最为常见的有如下三种方法:
1)直接将普通相片进行扫描录入,这种方法效率高、速度快。提示:扫描时一次可以摆放多张(如16或20张,视扫描仪幅度而定),扫描结束后存盘保存,再用PhotoShop图形处理软件进行编辑,将相片单张分别存放。要注意的是存盘的文件名一定要有规律,以便编程时方便处理,如以编号或学号命名等,扩展名以JPG为佳(因为它文件小,效果好,格式通用)。
2)用数码相机现照现录,这种方法可以统一格式和要求。但要布置场地和,安排时间和场次等,操作起来稍为复杂些,比如有的单位几个月都照不完相,更不用说建立档案了。
3)通过摄像头利用互联网的功能进行图片上传,如今的第二代居民身份证、一些网络学院学生的学籍、商业领域中的会员等的相片就是这样处理的,它适合于分布范围广、批量特大型、时间不确定等场合。
不论用上述何种方法请分门别类建立文件夹,文件名也应有一定的数字规律,这样编辑修改或编程处理才能方便、快捷。
在图中,相片按专业、班级和学号分门别类,井井有条,多而不繁,处理起来较为方便。
3 相片的编辑处理
由于相片扫描时是整版处理的,所以相片扫描结束后,启动PhotoShop图形处理软件,打开原先扫描好的文件,先选取一张相片,采用复制或剪切的方法存入剪贴板,再新建一个图形文件,计算机会自动按剪贴板内容的多少来决定这个文件的大小,然后用粘贴的方法将剪贴板上存储的图片贴入到这个新建的文件之中去,这样就基本完成了一张图片的处理,当然也可以根据需要调节这张相片的亮度和对比度,因为不是每张相片都是非常标准的。下面的界面说明了部分处理过程,还应该注意的是文件存盘时应用另存为(Save as…)同时文件存盘的扩展名应选取jpg格式,在文件存盘的对话框中有一项关于图片文件存盘大小的选项,您应该选取小文件格式,因为这样既可以满足用户对分辨率的要求,又可以提高计算机的运行速度,要知道计算机处理图形的速度是很慢的。
4 建立相片与数据的联系
在关系数据库中,个人资料信息是按行记录顺序存取的,由于存储的内容不同,数据库表结构就用不同的字段和数据类型来表示,比如:编号、姓名用字符型,出生年月用日期型,考试成绩或基本工资用数值型等。那么在数据库表中我们是如何存储和再现相片的呢?一般来说,可以采取如下两种方法:
4.1 在定义表结构时直接定义为多媒体数据类型
VFP数据库在定义表结构字段的数据类型时,其中有一种叫“通用型”的数据类型,这种数据类型就是专门用来处理图相和声音等多媒体数据的。
如图1所示:我们将“相片”字段的数据类型定义为“通用型”。
在浏览这张表的状态下,我们观察这张表,相片字段(通用型)所有记录都有"gen"这个标志,但是要注意,"gen"中的"g"为小写字母时表示它的内容为空,即还没有插入相片,如果记录中的"gen"显示为"Gen"即表示该字段已经插入了图片。
那么我们是如何编辑通用型字段的内容呢?首先我们将指针定位在需要插入图片的记录,然后将鼠标指向该记录所对应的相片字段内双击,就可以打开编辑框,如果其原来是有图片的则直接显示出来,如果没有则显示空白,用户即可在此贴入相片,图2是打开了一个有图片的2号记录。
如果要修改或删除这张相片则首先双击打开这张相片,然后选择VFP主菜单中“编辑”菜单下的“清除”命令即将其删除,然后重新贴入一张新的相片即可。
为了将相片内容贴入到相关记录的“通用型”字段又有若干种方法:
① 在依次选取桌面的“开始”->“程序”->“附件”-> “画图”程序,在绘图程序中打开一张相片,用选择图片范围工具框选所需要的图片内容,再将其复制到剪贴板,切换到VFP主窗口,将相片贴入到打开的字段即可。
② 启动ACDSee打开图片(可以多张),定位所需一张,选择“编辑”菜单中的“复制图像”命令或按“Ctrl+C”命令,切换到VFP主窗口,将相片贴入到打开的字段即可。建议采用这种方法因为它操作即简单又方便。
③ 在VFP主窗口中选择“编辑”菜单的“插入对象”命令,但这种方法插入的图片不能直接打开,需要双击或进一步编程,因此建议最好不要采用这种方法。
这样您在建立表单制作用户界面时就可以把相片当作一般的字段进行处理了,但是提醒读者,相片对象在表单上有一个Strenth属性,它有默认的值是“剪裁”这时相片由于分辨率的不同往往不能完全显示,为了达到比较理想的效果,应将其设置为“等比填充”或“变比填充”才行。
还有一点应该注意的是:采用这种方法建立记录信息以后与原图无关,也即原图移动或删除均不会影响或破坏数据记录。但它会生成一个较大的(FPT)文件来存储这些多媒体信息,所以请不要移动或删除这个文件。
4.2 用文件路径链接法
这种方法利用数据库表中的一个字段(字符型)来存储每张相片的绝对路径,通过编程的方法使记录移动时,图片对象指向相应的图片文件,从而实现相对应相片的显示。
采用这种方法处理或显示相片,应在表单设计中加以编程控制,主要是在表单初始化和命令按扭的相关事件中写入图片控制命令即可。
请看下面相关的控制命令:
① 在表单的初始化中,让图片对象的Pictuer属性指向表中第一条记录的相片字段(名称为:Pictpath),观察图3命令中的第7行。
② 图4是列表框(List1)控件对象的单击事件命令,让图片对象的Pictuer属性指向表中当前记录的相片字段。
使用这种方法,表字段存储的是相片文件的存盘路径,所以表文件相对较小,且不会产生额外的文件,不用专门编辑和处理图片文件,使用比较简单方便,但原文件既不能随意移动也不能删除,否则就会出现图片不能正确显示的错误。
5 大批量相片的快速处理方法
不论采用上述哪种方法,只能在记录数少、图片量也不多的情况下进行的,如果要处理的记录数有成千上万或更多,上述方法显然既费时又费力。那么我们如何解决这个问题呢?答案只有一个:那就是编程!下面谈谈这方面的问题。
1)对于前面讲的第一种方法(通用字段法)使用下面的命令:
appe gene 字段名 from“文件名”
在实际使用中您可以编写一段代码,首先打开一个表,利用Count命令统计表记录的总条数,并以此作为执行循环的次数,在循环中放入上述语句,后面跟一条Skip命令就可以实现图片的自动添加了,正如前面所说,您还要注意图片文件名的数字号与记录的对应顺序关系。
下面假设有1000张相片要添加到表中的“相片”字段上去,图片文件已按顺序编号存盘,即“1.jpg~1000.jpg”,文件路径为"D:picture"编写代码代码如下:
Use 表名
Count to X
Go top
For i=1 to x
Xp="D:picture"+allt(str(i))+".jpg"
appe gene 相片 from&Xp
Skip
Endfor
2)对于上面讲的第二种方法(文件路径链接法)可以用下面的命令加以解决:
Repl 字段 with “文件路径”,同样的问题,编程如下:
Use 表名
Count to X
Go top
For i=1 to x
Xp="D:picture"+allt(str(i))+".jpg"
Repl Pictpath with Xp
Skip
Endfor
注意:其中Pictpath是表中的一个字段,为字符型类型,用于存储相片文件的绝对路径。
6 结束语
该文探讨了VFP数据库程序设计中多媒体信息的相片类型数据的编辑处理方法和编程技巧,在具体的应用中应根据不同的实际情况选用不同的方法,一般的参考方法是:根据问题的规模大小而定,如果记录数相对少(几百条)使用粘贴复制的方法也是很方便的;反之,如果记录数特多(几千条以上),就应该采用编程的方法加以解决,这样才能达到快速和高效,当然您也完全可以利用VFP的"Getfile"函数,在表单界面上设置一个“选取相片…”的命令按扭,在程序的运行中单击打开一个文件对话框,由用户自己挑选需要的相片(见上述所示)。由于篇幅所限,不作详细讨论。
参考文献:
[1] 吴迪.VFP6.0中文版程序设计指南[M].北京:清华大学出版社,2006.
[2] 程玉民.VFP6.0程序设计[M].北京:中国水利水电出版社,2006.
[3] 王磊,黄兴友.可共享的跨平台的网络数字图像处理技术[J].电脑知识与技术(学术交流),2007,(8):236-238.
关键词:相片的存储;编辑处理;多媒体数据类型;相片文件与链接法
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-1040-03
The Database Image Processing Methods
JIANG Shu-hua
(Senior Technical School in Dongguan of Guangdong, Dongguan 523000, China)
Abstract: With the deepening of computer application and popularization of information in the computer and personnel management process, the multimedia information processing method and means of dealing with computer information has become a hot topic. This paper discusses the database image storage, processing, as well as in the process of reproduction and how to restore a range of issues, the study database programming is very important reference and learn.
Key words: A photo of the store; edit processing; multimedia data types; photos documents and links
1 引言
通俗地讲,计算机多媒体信息一般指除文字、字符外的声音,图形、图像和视频流等信息。当今计算机能够处理多媒体信息,使人机交流大大地向前跨出了一大步,也使电子档案能够完全取代传统(手工记录)的人事档案奠定了基础。
当然多媒体信息的处理需要用到很多相关软件,甚至还要用到一些硬件设备。软件方面有图形图像处理软件如:PhotoShop,AcdSee,CoreDraw及扫描,音频、视频播放编辑软件等;硬件方面有数码相机、扫描仪、摄像头、摄像机、视频解压卡等。由于篇幅所限,本文仅讨论常见电子档案中的相片处理方法和技巧,供大家参考。
2 如何将相片存储到计算机。
要将个人相片存储到计算机,目前最为常见的有如下三种方法:
1)直接将普通相片进行扫描录入,这种方法效率高、速度快。提示:扫描时一次可以摆放多张(如16或20张,视扫描仪幅度而定),扫描结束后存盘保存,再用PhotoShop图形处理软件进行编辑,将相片单张分别存放。要注意的是存盘的文件名一定要有规律,以便编程时方便处理,如以编号或学号命名等,扩展名以JPG为佳(因为它文件小,效果好,格式通用)。
2)用数码相机现照现录,这种方法可以统一格式和要求。但要布置场地和,安排时间和场次等,操作起来稍为复杂些,比如有的单位几个月都照不完相,更不用说建立档案了。
3)通过摄像头利用互联网的功能进行图片上传,如今的第二代居民身份证、一些网络学院学生的学籍、商业领域中的会员等的相片就是这样处理的,它适合于分布范围广、批量特大型、时间不确定等场合。
不论用上述何种方法请分门别类建立文件夹,文件名也应有一定的数字规律,这样编辑修改或编程处理才能方便、快捷。
在图中,相片按专业、班级和学号分门别类,井井有条,多而不繁,处理起来较为方便。
3 相片的编辑处理
由于相片扫描时是整版处理的,所以相片扫描结束后,启动PhotoShop图形处理软件,打开原先扫描好的文件,先选取一张相片,采用复制或剪切的方法存入剪贴板,再新建一个图形文件,计算机会自动按剪贴板内容的多少来决定这个文件的大小,然后用粘贴的方法将剪贴板上存储的图片贴入到这个新建的文件之中去,这样就基本完成了一张图片的处理,当然也可以根据需要调节这张相片的亮度和对比度,因为不是每张相片都是非常标准的。下面的界面说明了部分处理过程,还应该注意的是文件存盘时应用另存为(Save as…)同时文件存盘的扩展名应选取jpg格式,在文件存盘的对话框中有一项关于图片文件存盘大小的选项,您应该选取小文件格式,因为这样既可以满足用户对分辨率的要求,又可以提高计算机的运行速度,要知道计算机处理图形的速度是很慢的。
4 建立相片与数据的联系
在关系数据库中,个人资料信息是按行记录顺序存取的,由于存储的内容不同,数据库表结构就用不同的字段和数据类型来表示,比如:编号、姓名用字符型,出生年月用日期型,考试成绩或基本工资用数值型等。那么在数据库表中我们是如何存储和再现相片的呢?一般来说,可以采取如下两种方法:
4.1 在定义表结构时直接定义为多媒体数据类型
VFP数据库在定义表结构字段的数据类型时,其中有一种叫“通用型”的数据类型,这种数据类型就是专门用来处理图相和声音等多媒体数据的。
如图1所示:我们将“相片”字段的数据类型定义为“通用型”。
在浏览这张表的状态下,我们观察这张表,相片字段(通用型)所有记录都有"gen"这个标志,但是要注意,"gen"中的"g"为小写字母时表示它的内容为空,即还没有插入相片,如果记录中的"gen"显示为"Gen"即表示该字段已经插入了图片。
那么我们是如何编辑通用型字段的内容呢?首先我们将指针定位在需要插入图片的记录,然后将鼠标指向该记录所对应的相片字段内双击,就可以打开编辑框,如果其原来是有图片的则直接显示出来,如果没有则显示空白,用户即可在此贴入相片,图2是打开了一个有图片的2号记录。
如果要修改或删除这张相片则首先双击打开这张相片,然后选择VFP主菜单中“编辑”菜单下的“清除”命令即将其删除,然后重新贴入一张新的相片即可。
为了将相片内容贴入到相关记录的“通用型”字段又有若干种方法:
① 在依次选取桌面的“开始”->“程序”->“附件”-> “画图”程序,在绘图程序中打开一张相片,用选择图片范围工具框选所需要的图片内容,再将其复制到剪贴板,切换到VFP主窗口,将相片贴入到打开的字段即可。
② 启动ACDSee打开图片(可以多张),定位所需一张,选择“编辑”菜单中的“复制图像”命令或按“Ctrl+C”命令,切换到VFP主窗口,将相片贴入到打开的字段即可。建议采用这种方法因为它操作即简单又方便。
③ 在VFP主窗口中选择“编辑”菜单的“插入对象”命令,但这种方法插入的图片不能直接打开,需要双击或进一步编程,因此建议最好不要采用这种方法。
这样您在建立表单制作用户界面时就可以把相片当作一般的字段进行处理了,但是提醒读者,相片对象在表单上有一个Strenth属性,它有默认的值是“剪裁”这时相片由于分辨率的不同往往不能完全显示,为了达到比较理想的效果,应将其设置为“等比填充”或“变比填充”才行。
还有一点应该注意的是:采用这种方法建立记录信息以后与原图无关,也即原图移动或删除均不会影响或破坏数据记录。但它会生成一个较大的(FPT)文件来存储这些多媒体信息,所以请不要移动或删除这个文件。
4.2 用文件路径链接法
这种方法利用数据库表中的一个字段(字符型)来存储每张相片的绝对路径,通过编程的方法使记录移动时,图片对象指向相应的图片文件,从而实现相对应相片的显示。
采用这种方法处理或显示相片,应在表单设计中加以编程控制,主要是在表单初始化和命令按扭的相关事件中写入图片控制命令即可。
请看下面相关的控制命令:
① 在表单的初始化中,让图片对象的Pictuer属性指向表中第一条记录的相片字段(名称为:Pictpath),观察图3命令中的第7行。
② 图4是列表框(List1)控件对象的单击事件命令,让图片对象的Pictuer属性指向表中当前记录的相片字段。
使用这种方法,表字段存储的是相片文件的存盘路径,所以表文件相对较小,且不会产生额外的文件,不用专门编辑和处理图片文件,使用比较简单方便,但原文件既不能随意移动也不能删除,否则就会出现图片不能正确显示的错误。
5 大批量相片的快速处理方法
不论采用上述哪种方法,只能在记录数少、图片量也不多的情况下进行的,如果要处理的记录数有成千上万或更多,上述方法显然既费时又费力。那么我们如何解决这个问题呢?答案只有一个:那就是编程!下面谈谈这方面的问题。
1)对于前面讲的第一种方法(通用字段法)使用下面的命令:
appe gene 字段名 from“文件名”
在实际使用中您可以编写一段代码,首先打开一个表,利用Count命令统计表记录的总条数,并以此作为执行循环的次数,在循环中放入上述语句,后面跟一条Skip命令就可以实现图片的自动添加了,正如前面所说,您还要注意图片文件名的数字号与记录的对应顺序关系。
下面假设有1000张相片要添加到表中的“相片”字段上去,图片文件已按顺序编号存盘,即“1.jpg~1000.jpg”,文件路径为"D:picture"编写代码代码如下:
Use 表名
Count to X
Go top
For i=1 to x
Xp="D:picture"+allt(str(i))+".jpg"
appe gene 相片 from&Xp
Skip
Endfor
2)对于上面讲的第二种方法(文件路径链接法)可以用下面的命令加以解决:
Repl 字段 with “文件路径”,同样的问题,编程如下:
Use 表名
Count to X
Go top
For i=1 to x
Xp="D:picture"+allt(str(i))+".jpg"
Repl Pictpath with Xp
Skip
Endfor
注意:其中Pictpath是表中的一个字段,为字符型类型,用于存储相片文件的绝对路径。
6 结束语
该文探讨了VFP数据库程序设计中多媒体信息的相片类型数据的编辑处理方法和编程技巧,在具体的应用中应根据不同的实际情况选用不同的方法,一般的参考方法是:根据问题的规模大小而定,如果记录数相对少(几百条)使用粘贴复制的方法也是很方便的;反之,如果记录数特多(几千条以上),就应该采用编程的方法加以解决,这样才能达到快速和高效,当然您也完全可以利用VFP的"Getfile"函数,在表单界面上设置一个“选取相片…”的命令按扭,在程序的运行中单击打开一个文件对话框,由用户自己挑选需要的相片(见上述所示)。由于篇幅所限,不作详细讨论。
参考文献:
[1] 吴迪.VFP6.0中文版程序设计指南[M].北京:清华大学出版社,2006.
[2] 程玉民.VFP6.0程序设计[M].北京:中国水利水电出版社,2006.
[3] 王磊,黄兴友.可共享的跨平台的网络数字图像处理技术[J].电脑知识与技术(学术交流),2007,(8):236-238.