在工作过程中我经常使用到两种图象——网页上的jpeg图象和杂志题目的bmp图象。一般来说
我把原始的bmp图象保存在cd中,然后用delphi应用程序把它们转化成jpeg文件。这篇文章我
将介绍如何利用delphi应用程序把bmp图象转化成jpeg图象及反之转化。如果要查看图象格式
信息,请点击 这里.
tjpegimage
在delphi 3中,delphi控件库中的timage控件能显示不同格式的文件,如bmp, ico, wmf
/emf, and jpeg文件。然后,能够显示文件格式并不等于能够进行文件格式之间的转化。timage
控件中的loadfromfile和savetofile事件能保存一个bmp文件,但如果你保存jpg文件,你也只
能采用bmp格式存放。
幸运的是,delphi 3中的tjpegimage控件能很好地解决了上面的问题,这一控件没有直接存
放在控件库中,它均以jpeb形式声明和说明。如果你想找到这一控件的例程源代码,请点?
鱀ehphi目录下的info\extras\jpeg路径(不要告诉我你从没打开这一目录,这里有很多好东东)
。
tjpegimage控件从tgraphic控件引申出来,所以它与tbitmap控件相兼容,如listing a如示
。你可以利用tjpegimage控件写出一个把bmp转化成jpeg的例子。
注意到tbitmap使用loadfromfile事件传入文件,但是你必需只能利用tjpegimage?
腟avetostream事件保存jpeg图象到文件,后者没有如savetofile的事件。这一过程包括了文件压缩质
量的百分比,缺省值是100%。
例如,我把44,280字节的handshak.bmp文件从common files\borland shared\images
\splash\256color目录下转化为12种jpeg文件,这一过程采用100%,95%,90%,85%,80%,75%,70%,65
%,60%,55%,50%,0%的压缩质量百分比,如table a所示。在50%下,图象不再有很好的质量。1
00%压缩质量比结果是文件变大。事实上,当我采用75%以上的压缩质量百分比时,图象都保持
很好的效果。
compression quality percentage
resulting jpeg file size
100%
57,477
95%
32,247
90%
23,037
85%
18,325
80%
15,489
75%
13,551
70%
12,190
65%
11,129
60%
10,257
55%
9,562
50%
8,960
0%
1,813
从jpeg转化为bmp
把jpeg图象转化为bmp图象能够节省很大的存储空间,但是这一过程要丢失一些图象性质。在
很多情况下人们都是存储bmp文件而不是jpeg文件。
幸运的是,从jpeg转化到bmp是非常的容易,你无需使用压缩质量的方式。但是你应该记住?
珺mp文件是不能压缩的,所认bmp的压缩设置对最后的文件大小没有任何的影响。
delphi jpg2bmp工程的源代码位于listing b。这一程序演示了以上所说的内容。
非常容易地转化
这里的代码片段演示了如何转化bmp到jpeg及如何返之转化。即使你还关注转化的质量和文件
大小,delphi的tjpegimage控件也能让你很容易地完成这一操作。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器