VFP处理JPG图像文件方法谈计算机二级考试

文章作者 100test 发表时间 2009:07:25 10:46:14
来源 100Test.Com百考试题网


  Bitmap是非压缩型图像文件,占用的存储空间很大,而JPG图像文件是压缩型图像文件,因此,正确保存和显示JPG等图像文件具有很高的实用价值。 在VFP编程中,需保存图像文件时,通常是将图像以OLE方式保存到一个GENERAL型字段中。当需要在表单中显示该图像时,则使用OLE Bound控件,并将该控件绑定到保存图像的字段上即可。

  上述方法对于保存和显示Bitmap位图时没有问题,但是对JPG、GIF等图像文件则无法显示图像,而只能将其保存时的图像文件名显示出来。

  VFP 6.0版中的Imgae控件支持 bmp、gif、jpg和ico等图像文件格式,但是该控件不能绑定到保存图像文件的GENERAL型字段上。本文所采用的基本思路是:不将图像文件保存到GENERAL型字段中,而是把图像文件保存到一个二进制的Memo型字段中,当需要显示图像时,则将该Memo型字段的内容输出到一个临时文件中,然后再将临时文件名赋给Image控件中Picture属性即可显示图像。在报表打印输出时,也可以采用类似的方法打印图像。

  为实现上述的构想,本文提供了两个函数,一个是将图像文件保存到Memo型字段中,另一个是将Memo型字段中的图像保存到一个外部文件中。

  下面的过程文件是将一个外部图像文件保存到二进制Memo型字段中。图像文件在Memo型字段中的格式为:前128个字节保存原始图像文件名,其后的数据为图像数据。

Procedure s—ftom

lparameter s—cfield , s—cfile

local s—temp—str

if vartype(s—cfield) !=″C″ or vartype(s—cfile) !=″C″

=MessageBox(″参数类型错!″,48,″提示″)

return .F.

endif

if type(″&s—cfield″) != ″M″

=MessageBox( ″ ′ ″+s—cfield +″ ′ ″+ ″字段必须是二进制备注型数据!″,48,″提示″)

return .F.

endif

if !file( s—cfile)

=MessageBox( ″文件:″+s—cfile+″ 不存在!″,48,″提示″)

return .F.

endif

s—temp—str=PADR(JUSTFNAME(s—cfile),128, ′ ′)+filetostr(s—cfile)

replace (s—cfield) with s—temp—str

return .T.

endproc


相关文章


2009年4月全国计算机等级二级考试VF程序设计辅导计算机二级考试
2008年全国计算机等级考试二级VFP经典问题集计算机二级考试
二级FoxBASE上机考试技巧计算机二级考试
VisualFoxPro成长之路计算机二级考试
VFP处理JPG图像文件方法谈计算机二级考试
计算机等级考试二级VFP经典问题集计算机二级考试
计算机二级VF编辑选单中常见问题的解决方法计算机二级考试
用VisualFoxpro开发主从结构数据库系统计算机二级考试
宏的基本概念和基本操作计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛