基于qt的图像格式转换器设计与实现学士学位论文.doc
《基于qt的图像格式转换器设计与实现学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于qt的图像格式转换器设计与实现学士学位论文.doc(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京邮电大学毕业设计基于QT的图像格式转换器设计与实现摘 要在linux,windows不同平台,利用QT开发工具,实现了对本地图像进行格式转化功能。设计的图像转化软件,具备了一些基本的图像操作,包括查看图片、放大图片、缩小图片、前一张、后一张、图像转化和新建截图等功能。利用QT实现代码复用。使得该软件操作简便,界面整洁。在Linux系统嵌入式环境下基于QT的图像转化设计更具有实用价值。本设计是在Linux和windows下使用QT技术进行GUI设计,利用QTCreator软件编程实现一个图形界面,完成一个简单的图像转化的设计。该设计基于QT集成开发环境,利用系统的函数接口来编程、具有体积小、
2、支持的格式多、系统占用资源少、支持各种常用格式的转化等功能,还可以实现代码复用,实现跨平台的效果。此次开发设计在Windows 7系统 和Ubuntu12.04下,以C+为开发语言,在Qt 4.7.4开发平台上。通过对其开发,深入了解QT开发软件的流程和其强大功能,为后来使用者起借鉴作用。关键词:不同平台;图形用户界面;QT;代码复用Design and implementation of image format converter based on QTABSTRACTIn Linux, windows platform, using QT development tools, imple
3、mentation of the native image format conversion function. Image conversion software design, has some of the basic operation of the image, including view pictures, enlarge, narrow, a picture before, after a, image transformation and new screenshots and other functions. Reuse code by using QT. The sof
4、tware is easy to operate, clean interface.In the embedded Linux system environment design of image transformation based on QT and has more practical value. This design is a GUI design using QT technology in Linux and windows, the realization of a graphical interface using QTCreator software programm
5、ing, to complete a simple image transforming design. The design of the QT integrated development environment based on, programming, has the advantages of small volume, support playback function format conversion, the system takes fewer resources, support a variety of commonly used format using the f
6、unction interface system and Can also achieve code reuse, to achieve cross platform effect.The development of design in the Windows 7 system and Ubuntu12.04, which is developed by C+ language, in the Qt 4.7.4 development platform. Through its development, in-depth understanding of QT software develo
7、pment process and its powerful functions for later reference, user.Keywords: different platform; graphic user interface; QT; code reuseiii北京邮电大学毕业设计目 录摘 要iAbstractii1 绪 论11.1 课题背景11.2 课题研究的目的及意义31.3 嵌入式的现状和前景31.4 QT的历史和最新发展52 QT开发软件的架构和简介72.1 QT的特点与组成72.2 QT开发机制简介93 QT图像格式转化的设计和实现123.1 系统架构分析设计123.1
8、.1 需求分析设计123.1.2 界面的设计与分析133.1.3 软件结构设计153.2 程序的实现193.2.1 使用QT建立GUI开发193.2.2 算法设计和具体功能224 测试环节314.1 QT CREATOR 进行调试314.2 WIN7和UBUNTU12.04平台测试325 总 结35参考文献36致谢37外文资料38对应中文翻译491 绪 论1.1 课题背景今天我们所处的环境信息化发达、计算机网络遍布全球。离开了嵌入式的发展是不可能谈及网络的,这些年来,嵌入式产品发展出多种多样。这就不仅要求其茶品有强大的网络支持功能,还要有低成本、美观的图形界面。而在Linux、Windows等
9、操作系统上具有完备功能的图形设计开发软件成为解决问题的好方案。目前,嵌入式系统是在一个快速发展的时代,激烈的竞争,这种竞争和发展在未来几年将继续发展和激烈。嵌入式系统市场和技术的发展很快,国外技术发展的步伐更加成熟,市场基本形成。国内的发展速度也很快,市场有很大的潜力。在国外的一些发达国家,高水平的硬件,尤其是在嵌入式CPU的处理能力上,从原来的8位到16位再到32位,发展速度很快。掌上电脑、智能设备等新产品的涌入市场,使得产业规模进一步扩大和发展。国内的嵌入式硬件需求基本是靠进口来满足,技术相对较弱。但是,如今国内外都有自己推出的嵌入式系统,都在为自己在这个产业争取一份额而努力。而其中Lin
10、ux以其公开的系统内核源代码而得到广泛的重视和使用,发展前景非常乐观。在国内,大型的嵌入式系统非常少,今后的开发重点可能转向基于Internet的各种信息和嵌入式操作系统领域,包括Internet、网上交易、Iphone和平板电脑等。目前在开发GUI时也会有很多种选择,但是有很少软件可以实现一套代码在几乎不用修改代码便可支持多个操作系统编译。如果不能实现复用代码,要想在另一个系统上实现同样功能,只能舍弃原来的开发代码,进行重新开发。这样会消耗大量的人力和财力,使得原本很成熟的开发成果因此被遗弃。QT在开发时解决了这个问题,我们只需要在不同环境下安装好QT,并把开发好的代码编译一次便可以运行,极
11、大的提高了开发效率,在维护时也方便很多。它还可以发挥每个不同平台的优势,只需引入相应的系统中头文件即可。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器微处理器、存储器及外设器件和IO端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应
12、用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点: 1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。 4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信
13、设备中靠电池供电的嵌入式。系统更是如此,如需要功耗只有mW甚至W级。 嵌入式计算机系统同通用型计算机系统相比具有以下特点:1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3.嵌入式系
14、统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。要说嵌入式行业,就要先从嵌入式系统和软件说起。嵌入式系统和软件是指嵌入在硬件中
15、的非PC操作系统和开发工具软件,分为嵌入式操作系统、嵌入式支撑软件、嵌入式应用软件,被称为“驱动系统的灵魂。Qt是1991年奇趣科技公司开发的一款跨平台的C+图形用户界面应用程序框架。它不仅可以开发GUI程序,也可开发非GUI程序,比如控制台工具程序和服务器端程序。Qt是基于C+语言的面向对象框架,使用特殊的代码生成扩展以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增Beautifier、
16、WinRT等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C+代码模块,并对Android支持做出了调整,至此实现了全面支持Android 、iOS、WP。Qt良好的封装机制使得 Qt 的模块化程度非常高,代码可重用性较好,对于用户开发来说是非常方便。 Qt还提供了一种称为signals/slots的安全类型来代替 callback,这Qt creator是全新的跨平台集成开发环境,为QT开发人员的需求量身定制,由于捆绑了最新QT库二进制软件包和附加的开发工具,并作为QT SDK的一部分,Qt creator在单独的安装程序内提供了进行跨平台QT开发所需的全部工具。
17、Qt creator主要是为了帮助新QT用户更快速入门并运行项目,还可提高有经验的QT开发人员的工作效率。使得各个元件 之间的协同工作变得十分简单。因此,学习QT开发软件无论对于开发普通软件人员还是嵌入式开发者都是十分必要的,它还有重要的商业和研究价值,或许不久的将来便可在图形界面开发软件独居榜首。1.2 课题研究的目的及意义随着科学技术的进步,我们的社会越来越丰富多彩,图像的种类也越来越多。在信息技术发展的今天,人类对于图像的依赖也越来越高。米歇尔列举的有“电脑辅助设计、合成全息照相、飞行模拟器、电脑动画、机器人图像识别、射线跟踪、文本图绘、运动控制、虚拟环境防护、磁共振成像、以及多谱感应器
18、等”。对于图像的定位,在社会发展的过程中,发生了翻天覆地的变化。以前的图像,可能是物的附属,或者是价值的附属,都无法按照意指的规则,进行排列组合和格式转化。Qt具有丰富的API包括多达 250 个以上的 C+ 类还提供基于模板的 file、collections、 I/O device、serialization、directory management、date/time 类。甚至还包括正则表达式的处理功能。Qt是诺基亚开发的一个跨平台的C+图形用户界面应用程序框架。它提供给应用程开发者建立艺术级的图形用户界面所需的所有功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程,自从19
19、96年早些时候,Qt进入商业领域,他已经称为全世界范围内数千种成功的应用程序的基础,Qt也是流行的LINUX桌面环境KED的基础。基本上,Qt同XWINDOW上的Motif,OPENWIN,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但Qt具有优良的跨平台性、面向对象,丰富的API、大量的开发文档等优点。QtCreator是跨平台的QtIDE,QtCreator是Qt被Nokia收购后推出的一款新的轻量级集成开发环境(IDE)此IDE能够跨平台运行,支持的系统包括Linux(32位及64位)、MacOSX以及Windows。根据官方描述,QtCrea
20、tor的设计目标是使开发人员能够利用Qt这个应用程序框架更加快速及轻易的完成开发任务。在功能方面,Qt Creator 包括项目生成向导、高级的 C+ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 QMAKE 构建工具等。尤其是我们在制作软件和网页时候,需要各种各样的不同格式的图片进行装饰,不可能使用单一的图片格式满足用户的所有需求。这时有一款图像转化软件可以满足市场和开发人员的需要。在嵌入式发展飞速的今天,更需要有一款软件可以随时随地的对图像进行处理。特别是在Linux环境下,图形化软件特别
21、少,需要一个可以方便使用和操作的有图形界面的软件。Qt可以实现在windows和linux一次编译多次运行,是市场发展的好趋势。所以今天做一个图形转化程序来验证Qt的良好的实现代码机制和强大的跨平台功能。服务业创造价值,而体验业创造意义。在服务中创造更好的用户体验,可以提升用户价值。Qt 包括一套集成的开发工具,可加快在 X11 平台上的开发。Qt 由于是 KDE 桌面环境的基础,在各个 Linux 社区人尽皆知。几乎 KDE 中的所有功能都是基于 Qt 开发的, 而且 Qt 是全球社区成员用来开发 成千上万的开源 KDE 应用程序的基础。本文运用QT技术在Linux下进行GUI设计,以一个图
22、形界面为例,运用QT creator软件编程,实现一个图像转化软件。1.3 嵌入式的现状和前景嵌入式的现状和前景在未来嵌入式应用软件的开发不仅需要操作系统的支持开发工具而且还需要的强大的开发工具的支持,伴随计算机网络技术的成熟和发展,以及带宽的提高,ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样。像智能手机、平板电脑及冰箱,智能家居等嵌入式电子设备的功能不再单一,其结构也更为复杂。为了满足更多应用功能的快速升级,设计师们一方面采用更为先进的嵌入式处理器如32位、64位RISC芯片或者信号DSP处理器增强其处理能力;同时还采用多任务的、实时的编程技术和交叉开发工具技术来控制程序实现
23、的功能复杂性,此外还要简化应用程序设计、保障软件的质量和尽量缩短开发软件的周期。(1)联网成为嵌入式发展的必然趋势为了更好的适应嵌入式分布处理的结构和网络应用上的需求,面向新一代的嵌入式系统要求配备标准的一种或多种网络通信接口才能与之相适应。对于外部联网要求,嵌入设备必需配有通信接口,同时需要TCPIP协议软件支持;同时也需要提供相应的通信网协议软件和物理层驱动软件。为了支持应用软件的特定的编程模式,还需要相应的浏览器和网页支持技术的开发与发展。(2)支持小型电子设备、实现小尺寸、微功耗以及低成本为满足这种特性,使得嵌入式产品设计在一定程度降低处理器的性能,限制一定的内存容量和复用接口芯片。这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 qt 图像格式 转换器 设计 实现 学士学位 论文
限制150内