利用Delphi的TJPEGImage控件把BMP化成JPEG
点击次数:76 次 发布日期:2008-11-09 08:42:08 作者:源代码网
|
源代码网推荐 源代码网推荐 TJPEGImage 源代码网推荐 源代码网推荐 在Delphi 3中,Delphi控件库中的Timage控件能显示不同格式的文件,如BMP, ICO, WMF/EMF, and JPEG文件。然后,能够显示文件格式并不等于能够进行文件格式之间的转化。Timage控件中的LoadFromFile和SaveToFile事件能保存一个BMP文件,但如果你保存JPG文件,你也只能采用BMP格式存放。 源代码网推荐 源代码网推荐 幸运的是,Delphi 3中的TJPEGImage控件能很好地解决了上面的问题,这一控件没有直接存放在控件库中,它均以JPEB形式声明和说明。如果你想找到这一控件的例程源代码,请点击Dehphi目录下的InfoExtrasJPEG路径(不要告诉我你从没打开这一目录,这里有很多好东东)。 源代码网推荐 源代码网推荐 TJPEGImage控件从Tgraphic控件引申出来,所以它与Tbitmap控件相兼容,如Listing A如示。你可以利用TJPEGImage控件写出一个把BMP转化成JPEG的例子。 源代码网推荐 源代码网推荐 注意到Tbitmap使用LoadFromFile事件传入文件,但是你必需只能利用TJPEGImage的SaveToStream事件保存JPEG图象到文件,后者没有如SaveToFile的事件。这一过程包括了文件压缩质量的百分比,缺省值是100%。 源代码网推荐 源代码网推荐 例如,我把44,280字节的Handshak.bmp文件从Common FilesBorland SharedImagesSplash256Color目录下转化为12种JPEG文件,这一过程采用100%,95%,90%,85%,80%,75%,70%,65%,60%,55%,50%,0%的压缩质量百分比,如Table A所示。在50%下,图象不再有很好的质量。100%压缩质量比结果是文件变大。事实上,当我采用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是非常的容易,你无需使用压缩质量的方式。但是你应该记住,BMP文件是不能压缩的,所认BMP的压缩设置对最后的文件大小没有任何的影响。 源代码网推荐 源代码网推荐 Delphi JPG2BMP工程的源代码位于Listing B。这一程序演示了以上所说的内容。 源代码网推荐 源代码网推荐 非常容易地转化 源代码网推荐 这里的代码片段演示了如何转化BMP到JPEG及如何返之转化。即使你还关注转化的质量和文件大小,Delphi的TJPEGImage控件也能让你很容易地完成这一操作。 源代码网推荐 源代码网供稿. |
