基于wince的图片浏览器开发内容摘要:
键 .《 Windows CE 嵌入式系统》, 北京航空航天出版社 , [6] 相关网页: , 以及百度文库等。 12 2 设计步骤 操作系统的下载: 第一步 : 从 “开始 所有程序 附件 通讯 超级终端”新建一个超级中断链接。 【图 1】超级终端连接描述 第二步 : 选择连接串口,并将串口波特率设为: 38400,数据流控制选择“ 无 ”,按“确定”按钮 【图 2】超级终端设置选项 13 【图 3】超级终端成功设置菜单 第三步 : 确定一下 PC与目标平台的串口接口线已接上,然后打开平台电源开关, Bootloader程序时,按 空格键 进入 Eboot 的菜单选项中。 【图 4】超级终端显示 Boot Loader 启动菜单选项 14 第四步 : 启动 Visual Studio 2020,在 Targetconnectivity Option中打开映象的下载配置选项。 【图 5】 Connectivity Options 菜单选项 第五步 : 在 Download 与 Transport 选项都选择“ Ether”.在 Debugger 中选择“ None”. 【图 6】 Target Device Connectivity Options 选项 15 第六步 : 点击 Download 选择右边的“ Settings”,让 PB来检测设备名。 用网线连通 PC和目标平台,将 PC和目标平台的网络连接设置在同一网段,根据超级终端的 Eboot 菜单 提示,选取“ D”项,即按键盘上的 D 键。 【图 7】 Ether download Settings 设置选项 【图 8】目标平台发送广播包选项 16 第七步 : 在 Ether Download Settings 中,就可以自动检测到目标设备名,点击“ Active Devices”中的设备名就可以把设备名添加到“ Device Boot Name”中去。 然后点击“ OK”,再点“ Apply”按钮,然后按“ Close”按钮关闭“ Target Device connectivity Options”窗口 . 【图 9】检测连接选项 第八步 : 从 Visual Studio2020 的 TargetAttach Device 菜单中, 选中 , 连接目标平台。 17 【图 10】 Attach device 菜单选项 第九步 : 在弹出的下载窗口就可以看到 NK 下载的进度。 【图 11】 NK 下载过程 第十步 : 操作系统映像下载完毕后, Windows Embedded CE 操作系统自动启动。 【图 45】 Windows CE 启动界面 18 应用程序部分: VisualStudio2020,选择 FileNewProject,新建基于 的 C设备应用程序。 如下图所示: ,添加菜单项和相关功能控件,如图所示: “打开”,“下一张”,“上一张”,“删除”,“放大”,“缩小”, 19 “右旋转”,“左选择”,“关闭”,以及菜单栏的菜单项。 VisualStudio2020将自动生成消息函数架构。 并在函数体中添加相应代码(请查阅“代码清单”部分),如下图所示: ,点击 Build〉 Build Solution。 纠正提示的错误及警告之后,点击 Debug〉 Start Debugging。 在出现的设备部署,选择WinCE6EEliod ARMV4I Device,如下图所示。 程序在实验箱可以正常运行: 20 3 遇到的问题与解决方法 问题一:设计界面时,根据我们对其他图片浏览器产品的观察,我们本来打算采用菜单栏和工具条来构成主要的界面。 但在 WINCE 系统中,工具条的按钮项只能用图片集 ImageList中的图像来表示,不支持文字 Text。 这样如果图片太小,用户可能就看不清各个按钮项的功能。 解决方法: 为了方便使用,我们决定舍弃工具条而采用放在面板 Panel 中排成一列的 按钮Button 控件来起到相同的效果。 问题二:在代码实现时,我们发现在自己电脑上可以成功运行的代码在实验室的实验箱上往往会报错。 原因是一些可以在 windows 环境下使用的函数在 WINCE 系统上不支持,或者是构造对象时需要使用到的类的参数不同。 比如,在 创建缩放图像时,本来 Graphics 类有ScaleTransform()函数来实现比例缩放,但在 WINCE 系统不支持;再比如,旋转图片本来可以直接使用 RotateTransform()函数来实现,但在 WINCE 系统也是无法使用。 解决方法:在缩放时,经过多 次尝试,最终发现了 Graphics 的 DrawImage()函数可以间接实现该功能;为了实现旋转功能,我们只好逐像素的给以旋转,在大大降低效率的基础上才实现了这个功能。 其他显示效果处理功能也主要使用了类似的方法。 4 程序清单 全部代码如下: using System。 using。 using。 using。 using。 using。 using。 using。 using。 using。 namespace PictureBrowser1 { public partial class Form1 : Form { private String dirPath。 //文件所在文件夹路径 private ArrayList fileInDir。 //用 ArrayList存储文件夹中的图片文件 private int index。 //图片文件索引,用于实现上一张、下一张浏览 private String curFile。 //当前图片文件的路径 private Bitmap curBmp。 //当前图片文件的位图 public Form1() { 21 InitializeComponent()。 = true。 } private void open() //文件打开函数 { if (() == ) { if ( != null) { ()。 = null。 } String filename =。 try { curFile = filename。 curBmp = new Bitmap(curFile)。 = curBmp。 displayImage()。 dirPath = (0, (\\))。 dirInfo = new (dirPath)。 [] fileInfo = ()。 fileInDir = new ArrayList()。 if ( 0) ()。 foreach (FileInfo fi in fileInfo) { if ( == .JPG || == .jpg || == .jpeg || == .tif || == .png || == .bmp || == .BMP || == .gif || == .GIF) { (())。 } } for (index = 0。 index。 index++) { if (fileInDir[index].ToString() == filename) { break。 } } } 22 catch (Exception excep) { (excep)。 (请选择后缀名为 “JPG/PNG/JPEG/GIF/TIF/BMP”的图片。 , 温馨提醒。 )。 } } else { (请先选择一张图片。 , 温馨提醒。 )。 } } private void close() //文件关闭函数 { if ( != null) { ()。 = null。 curFile =。 curBmp = null。 } } private void next() //浏览 下一张函数 { try { if (index == 1) { (这已经是最后一张了 ., 温馨提醒。 )。 } else { ()。 curFile = fileInDir[++index].ToString()。 curBmp = new Bitmap(curFile)。 = curBmp。 displayImage()。 } } catch (NullReferenceException) { (请先打开一张图片。 , 温馨提醒。 )。 } 23 } private void previous() //浏览 上一张函数 { try { if (index == 0) { (这已经是第一张了 ., 温馨提醒。 )。 } else { ()。 curFile = fileInDir[index].ToString()。 curBmp = new Bitmap(c。基于wince的图片浏览器开发
相关推荐
的名字加 -文本编辑器 ,具体实现的代码如下: = (*.rtf)|*.rtf|All File(*.*)|*.*。 = () + -文本编辑器。 与实际运行的结果(图 )对照,结果正确 17 (图 ) ( 4) 对菜单 Save 的测试 按下菜单 Save 时,如果文件原来不存在,那它就会弹出一个对话框,让你选择保存路径,和填写文件名
常现象,最后把判断的结果转换为警告信息。 ( 3)事件数据库 ( Response units ) 事件数据库是存放各种中间和最终数据的地方。 ( 4)响应单元 ( Response units ) 响应单元根据警告信息做出反应,如切断连接、改变文本属性等强烈的反 应,也可能是简单地报警。 它是入侵检测系统中的主动武器。 输出:事件的有关信息 输出:原始或低级事件 响应单元 事件分析器
计数输入),时钟输出 T2EX(定时器 /计数器 T2 的捕捉 /重载触发信号和方向控制) MOSI(在 系统 编程用) MISO(在 系统 编程用) SCK(在 系统 编程用) P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P2 端口写 “1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时
包含图片浏览组件)、亿道嵌入式开发板 EELiod270 教学开发平台。 、界面设计 在界面设计中,我们参考了大众化软件常见界面,以图片显示区域为中心,上面设置菜单栏, 菜单栏下拉有选项供操作,下面设置快速操作按钮,方便用户快速使用画图 操作的功能。 整体效果如下所示: 、代码设计 整个代码分控件和纯代码这两部分。 控件部分:包括 Form(用来 画图 )、 Button(用来设置菜单栏 )
c fl exi ble组态软件及 PLC控制的车道控制机设计本科毕业论文南京工程学院电力工程学院毕业设计(论文)基于 PLC的车道控制机组态设计 52 53摘 要本文在全面讨论车道控制机技术的基础上,深入研究了其中的控制系统结构。 从系统设计的角度出发,提出了基于 plc的控制系统解决方案。 通过组态软件 “wincc”
c fl exi ble组态软件及 PLC控制的车道控制机设计本科毕业论文南京工程学院电力工程学院毕业设计(论文)基于 PLC的车道控制机组态设计 52 53摘 要本文在全面讨论车道控制机技术的基础上,深入研究了其中的控制系统结构。 从系统设计的角度出发,提出了基于 plc的控制系统解决方案。 通过组态软件 “wincc”