设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 C++加载和保存图形文件
 日期:2005-7-2 18:13:37  来源:百当软件园
6.1.8 加载和保存图形文件
仅存在于应用程序运行时的图形图像价值很有限。经常会想要使用相同的图片,或保存已创建的图片以备使用。使用VCL的图像控件使得从文件加载图片或保存图片都变得很容易。用来加载、保存和替换图形图像的VCL组件支持许多图形格式,包括位图文件、图元文件、glyphs等等。还有其他可安装的图形类。

加载和保存图形文件的方法和处理其他文件的方法类似,这些方法在下列各节中说明:
· 从文件加载图片。
· 把图片保存到文件中。
· 替换图片。

1.从文件加载图片
若应用程序需要修改图片,或需把图片在应用程序外保存,以便其他人或其他应用程序可修改图片,则应用程序就需提供从文件加载图形的能力。要从图形文件中加载图片给图像控件,可调用图像控件的Picture对象的LoadFromFile方法。

下列代码从打开文件对话框中取得文件标题,并将文件载入到名为Image的图像控件中:


2.把图片保存到文件中
VCL图片对象也能加载和保存多种格式的图形,并且可创建和注册自己的图形文件格式以便图片对象也能加载和保存它们。要把图像控件的内容保存到文件中,调用图像控件Picture对象的SaveToFile方法。SaveToFile方法需要欲保存到的文件的文件名。如果图片是新创建的则可能没有文件名,或者用户可能希望把已有图片保存成另一个文件。这些情况,应用程序在保存之前需要从用户处取得文件名,这
在下节中将会说明。

下列两个事件处理程序,分别添加给File|Save和File|SaveAs菜单项,用于处理重新保存已命名文件、保存未命名的文件、以新的文件名保存现有的文件:


3.替换图片
随时都可替换图像控件中的图片。若将新图形分配给已有图形的图片对象,新图形会替换已有的图形。要替换图像控件中的图片,将新图形分配给图像控件的Picture对象。
创建新图形的方法和创建初始图形的方法一样,但应提供让用户选择除初始缺省大小外其他尺寸的方法。最简单的方法是使用对话框,如图6-1所示。


这个对话框是在GraphEx(在EXAMPLES\DOX\GRAPHEX目录下)工程包含的BMPDlg程序单元中创建的。在工程中使用这个对话框,先将头文件BMPDlg.hpp加到主窗体单元的.cpp文件中。接着可以把事件处理程序加到File|New菜单项的OnClick事件。如下例:
点击放大

注意把新的位图分配给图片对象的Graphic属性,使得图片对象释放原有位图,并再取得新位图的所有权。VCL会自动释放与原有位图相关的资源。
相关文章

·C++ Builder 在图形中绘制
·C++ Builder 在应用程序中处理多
·C++ Builder 使用Canvas的方法来
·C++ Builder 使用Canvas对象的属
·C++ Builder 画布的通用属性和方
·C++ Builder 刷新屏幕
·C++ Builder 在控件中加入图形
·C++ Builder 处理控件中的文本
·C++ Builder 实现控件的拖动-停靠
·C++ Builder 实现控件拖放操作


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作