文档库 最新最全的文档下载
当前位置:文档库 › minigui 显示中文

minigui 显示中文

minigui 显示中文
minigui 显示中文

minigui 显示中文

1 修改/etc/MiniGUI.cfg

66 [systemfont]

67 font_number=10

68 font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1

69 font1=*-FixedSys-rrncnn-*-16-ISO8859-1

70 font2=*-Courier-rrncnn-*-16-ISO8859-1

71 font3=*-SansSerif-rrncnn-*-16-ISO8859-1

72 font4=*-System-rrncnn-*-16-ISO8859-1

73 font5=*-fixed-rrncnn-*-16-GB2312

74 font6=*-Courier-rrncnn-*-16-GB2312

75 font7=*-SansSerif-rrncnn-*-16-GB2312

76 font8=*-Times-rrncnn-*-16-GB2312

77 font9=*-Helvetica-rrncnn-*-16-GB2312

78 default=0

79 wchar_def=4

80 fixed=1

81 caption=4

82 menu=2

83 control=3

84

85 [rawbitmapfonts]

86 font_number=3

87 name0=rbf-fixed-rrncnn-12-12-GB2312-0

88 fontfile0=/usr/local/share/minigui/res/font/song-12-gb2312.bin

89 name1=rbf-fixed-rrncnn-16-16-GB2312-0

90 fontfile1=/usr/local/share/minigui/res/font/song-16-gb2312.bin 这个为minigui自带的资源库安装好之后的字库路径

91 name2=rbf-fixed-rrncnn-6-12-ISO8859-1

92 fontfile2=/usr/local/share/minigui/res/font/6x12-iso8859-1.bin

93 [varbitmapfonts]

94 font_number=3

95 name0=vbf-Courier-rrncnn-10-15-ISO8859-1

96 fontfile0=/usr/local/share/minigui/res/font/Courier-rr-10-15.vbf

97 name1=vbf-Helvetica-rrncnn-15-16-ISO8859-1

98 fontfile1=/usr/local/share/minigui/res/font/Helvetica-rr-15-16.vb f

99 name2=vbf-Times-rrncnn-13-15-ISO8859-1

100 fontfile2=/usr/local/share/minigui/res/font/Times-rr-13-15.vbf

环境就是这样然后就是程序了:

设置字体

PLOGFONT logfontsong20;

logfontsong20 = CreateLogFont (NULL, "song", "GB2312",FONT_WEIGHT_REG ULAR, FONT_SLANT_ROM AN, FONT_FLIP_NIL,FONT_OTHER_AUTOSCALE, FONT_ UNDERLINE_NONE, FONT_STRUCKOUT_NONE,16, 0);

SetWindowFont(hStatic_lat窗口句柄,logfontsong20);

然后还有最重要的一点 :就是编码一定要是GB2312的,否则还是乱码怎么设置编码了以VIM为列:

vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(fileencodings)

其中fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系统环境跟你的enc设置匹配),你可以通过改变 fenc后再w来将此文件存成不同的编码。比如说,我:set fenc=utf-8然后:w就把文件存成utf-8的了,:set fenc=gb18030再:w就把文件存成gb18030的了。这个值对于打开文件的时候是否能够正确地解码没有任何关系。

fencs就是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码。比如我的vimrc里面这个的设置是

set fileencodings=utf-8,gb18030,utf-16,big5

所以我的vim每打开一个文件,先尝试用utf-8进行解码,如果用utf-8解码到了一半出错(所谓出错的意思是某个地方无法用utf-8正确地解码),那么就从头来用gb18030重新尝试解码,如果gb18030又出错(注意gb18030并不是像utf-8似的规则编码,所以所谓的出错只是说某个编码没有对应的有意义的字,比如0),就尝试用utf-16,仍然出错就尝试用big5。这一趟下来,如果中间的某次解码从头到尾都没有出错,那么 vim就认为这个文件是这个编码的,不会再进行后面的尝试了。这个时候,fenc的值就会被设为vim最后采用的编码值,可以用:set fenc?来查看具体是什么。

至于enc,其作用基本只是显示。不管最后的文件是什么编码的,vim都会将其转换为当前系统编码来进行处理,这样才能在当前系统里面正确地显示出来,因

此enc就是干这个的。在windows下面,enc默认是cp936,这也就是中文windows 的默认编码,所以enc是不需要改的。在 linux下,随着你的系统locale可能设为zh_CN.gb18030或者zh_CN.utf-8,你的enc要对应的设为gb18030或

者 utf-8(或者gbk之类的)。

自己来总结一下吧:

1.如果系统的locale是zh_CN的,那么想让vim能显示正确的编码,

在 .vimrc 中设置:

set enc=gbk

set fencs=utf-8,gbk

这样,vim会先探测utf-8的编码,失败了会作为gbk的编码进行解码。显示当然是gbk了,这个和locale相关。

2.查看当前文件的编码:

:set fenc

3.vim中转换编码:

:set fenc=utf8

然后保存即可。

4.如果已经打开了解码错的文件,想重新设置编码格式:

:edit ++enc=utf8

5.shell转换编码:

将一个GBK 编码的文件转换成UTF-8编码

iconv -f gbk -t utf8 file1 -o file2

批量转换文件的编码:

find . -name '*.txt' -exec iconv -f gbk -t utf8 {} -o tmp.txt \; -exe c mv tmp.txt {} \;

注:打开UTF-8编码的文件时,除了vim里的设置,还需要正确SecureCRT,详情请看我的另一篇文章《关于SecureCRT中的2个中文问题》

环境变量LANG(使用的语言);

环境变量LC_CTYPE(使用的内部编码);

Vim选项encoding(Vim的内部编码);

Vim选项termencoding(Vim在与屏幕/键盘交互时使用的编码); Vim选项fileencoding(Vim当前编辑的文件在存储时的编码);

Vim选项fileencodings(Vim打开文件时的尝试使用的编码);

Vim选项ambiwidth(对"不明宽度"字符的处理方式;Vim 6.1.455后引入这是我的vim设置

36 "编码设置

37 set enc=utf-8

38 set fencs=gb2312

就OK了

GeoServer地图开发解决方案及OpenScales的地图网站开发

https://www.wendangku.net/doc/4610926897.html, 推荐类似课程北风网:基于OpenScales的地图网站全程开发(FLEX+GIS等技术结合)学习地址:https://www.wendangku.net/doc/4610926897.html,/goods.php?id=114 GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。本系列博文提供全面、完善的GeoServer部署解决方案,包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。文中内容来自本人工作中通过网络学习后总结而成,如有类同纯属巧合,同时欢迎广大网友前来交流。 GeoServer地图开发解决方案(一):环境搭建篇

搭建GeoServer环境需要安装GeoServer、Java JDK 1.5/1.6、Tomcat 5.0/6.0(老版本的GeoServer需要Tomcat的支持,最新版本的GeoServer 2.0.2版已经内置了HTTP服务器)。 一、下载、安装Tomcat、Java JDK1.5/1.6 Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。如本人电脑中就是将JDK安装在D盘下的,详细如下图: 如果是使用最新版本的GeoServer 2.0.2版本的就不需要安装Tomcat,GeoServer 2.0.2已经内置了HTTP服务器。 二、下载、安装GeoServer GeoServer 是OpenGIS Web 服务器规范的J2EE 实现,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载,详细请查看本文档末的资源表。 GeoServer兼容WMS 和WFS 特性;支持PostGIS 、Shapefile 、ArcSDE 、Oracle 、VPF 、MySQL 、MapInfo ;支持上百种投影;能够将网络地图输出为jpeg 、gif 、png 、SVG 、KML 等格式;能够运行在任何基于J2EE/Servlet 容器之上;嵌入MapBuilder 支持AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。关于GeoServer更多信息可以访问百度百科了解: https://www.wendangku.net/doc/4610926897.html,/view/871332.htm 或官网了解: https://www.wendangku.net/doc/4610926897.html,/display/GEOS/Welcome 。 安装GeoServer非常简单,由于GeoServer是Java编写的开源项目,故GeoServer 的运行需要有Java JDK的支持,也就是上面一步所安装Java JDK,在安装GeoServer 的同时就必须提供Java JDK的jre才能完成GeoServer的安装。

minigui1.6.10安装

新手大家一起学(1)---minigui1.6.10安装笔记 首先,从飞漫的网站上下载相关的压缩包: https://www.wendangku.net/doc/4610926897.html,/project/showfiles.php?group_id=231764& package_id=281013&release_id=617949。 qvfb-1.1.tar.gz minigui-res-1.6.10.tar.gz mg-samples-1.6.10.tar.gz libminigui-1.6.10.tar.gz 在home目录下创建一个minigui的目录 mkdir minigui 将这些压缩包拷贝到home/minigui目录下 首先安装minigui的资源文件:

[root@localhost minigui]# tar -xvzf minigui-res-1.6.10.tar.gz [root@localhost minigui]#cd minigui-res-1.6.10 [root@localhost minigui-res-1.6.10]# make install 安装minigui的库文件 [root@localhost minigui]# tar -xvzf libminigui-1.6.10.tar.gz [root@localhost minigui]# cd libminigui-1.6.10 [root@localhost libminigui-1.6.10]# ./configure [root@localhost libminigui-1.6.10]# make [root@localhost libminigui-1.6.10]# make install 安装minigui的例子库 [root@localhost minigui]# tar -xzvf mg-samples-1.6.10.tar.gz

GeoServer地图开发解决方案

本文档原创来自:https://www.wendangku.net/doc/4610926897.html,/beniao277 由Exlimit编辑 GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。本系列博文提供全面、完善的GeoServer部署解决方案,包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。文中内容来自本人工作中通过网络学习后总结而成,如有类同纯属巧合,同时欢迎广大网友前来交流。 GeoServer地图开发解决方案(一):环境搭建篇 搭建GeoServer环境需要安装GeoServer、Java JDK 1.5/1.6、Tomcat 5.0/6.0(老版本的GeoServer需要Tomcat的支持,最新版本的GeoServer 2.0.2版已经内置了HTTP服务器)。 一、下载、安装Tomcat、Java JDK1.5/1.6

Tomcat和Java jdk都可以通过其官方网站下载到,详细请查看本文末的资源表。如本人电脑中就是将JDK安装在D盘下的,详细如下图: 如果是使用最新版本的GeoServer 2.0.2版本的就不需要安装Tomcat,GeoServer 2.0.2已经内置了HTTP服务器。 二、下载、安装GeoServer GeoServer 是OpenGIS Web 服务器规范的J2EE 实现,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载,详细请查看本文档末的资源表。 GeoServer兼容WMS 和WFS 特性;支持PostGIS 、Shapefile 、ArcSDE 、Oracle 、VPF 、MySQL 、MapInfo ;支持上百种投影;能够将网络地图输出为jpeg 、gif 、png 、SVG 、KML 等格式;能够运行在任何基于J2EE/Servlet 容器之上;嵌入MapBuilder 支持AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。关于GeoServer更多信息可以访问百度百科了解: https://www.wendangku.net/doc/4610926897.html,/view/871332.htm或官网了解: https://www.wendangku.net/doc/4610926897.html,/display/GEOS/Welcome。 安装GeoServer非常简单,由于GeoServer是Java编写的开源项目,故GeoServer 的运行需要有Java JDK的支持,也就是上面一步所安装Java JDK,在安装GeoServer 的同时就必须提供Java JDK的jre才能完成GeoServer的安装。

教程系列十--使用mStudio开发MiniGUI应用程序

天行健,君子以自强不息;地势坤,君子以厚德载物 天 嵌 通 途 工 作 室 教程系列 <十> 使用mStudio开发MiniGUI应用程序 工作室网址 https://www.wendangku.net/doc/4610926897.html,/embedroad BBS https://www.wendangku.net/doc/4610926897.html,/embedroad/bbs 金 陵 科 技 学 院 信息技术学院 天嵌通途工作室教程系列/ EmbedRoad Studio Tutorials Series

https://www.wendangku.net/doc/4610926897.html,/embedroad jinwenjie2007@https://www.wendangku.net/doc/4610926897.html, 第 2 页 共 11 页 天嵌通途工作室是由学生自发组织的半商业性质的团体, 主要由金陵科技学院嵌入式爱好者以及软件工程爱好者组成, 使用mStudio开发MiniGUI应用程序 mStudio 是飞漫软件推出的面向MiniGUI 开发的一款可视化集成开发环境,基于Eclipse CDT,为开发人员提供所见即所得(WYSIWYG)的界面设计环境,同时,自动生成代码,维护工程框架等。运行于Windows 版本的mStudio 采用了MinGW 运行环境。 版本与运行环境: FMSoft mStudio 1.0 with MiniGUI-BE V3.0 for Windows 支持操作系统:Windows 2000 / XP / 7操作系统 支持硬件平台:x86 一、软件安装 1.1 安装C/C++运行环境 如果您未安装VS2005的运行环境,请安装vcredist_x86.exe ,也可以在工作室网站上下载:https://www.wendangku.net/doc/4610926897.html,/embedroad/down.asp 。 如果你已经装过VS2005集成开发环境,则这步可以省略。 1.2 安装JRE或者JDK 如果您未按照JRE运行环境,请安装Windows版本JRE 。 (jre-6u19-windows-i586.exe) 以上两个全部默认路径安装即可。JRE 的安装目录是:C:\Program Files\Java。 1.3安装mStudio 下载网址:https://www.wendangku.net/doc/4610926897.html,/index.php?id=136&L=1。 运行mStudio-1.0-MiniGUI-BE-3.0-MinGW-en.msi ,这个软件免费,一路默认安装即可。 1.4 选择Workspace路径 双击软件运行Eclipse,第一次启动时需要选择Workspace 路径,但工程存储路径中不能包含空格和中文字符。例如:

geoserver显示中文

1.shp文件以及shp文件存放 的路径都改成英文或者拼音。 2.新建Stores的时候编码方式 设置成gbk 或者g2312 3.很关键的一步,在uDig中调整地图的样式,某个图层上点击右键—-change style,在simplefeature的label中选择要显示的中文字段,然后set font 这里的字体要选择中文字体,字符集选择Chinese—gb2312 ok。这一步之后在uDig中显示的应该也是汉字了。

4.还是在刚才的对话框中选择xml 然后找到font节点 宋体 12.0 normal bold 宋体bold都删掉, 然后再检查该xml 不通过的话把出错位置的节点删掉。通过之后把直接复制样式添加到geoserver的style中。在发布地图服务的时候选择该样式就ok了(注意选择了该样式之后,下面应该显示出该样式的图标) 如图:

几种GUI比较

几种嵌入式GUI介绍 一、MicroWindows Century软件公司维护的,较早出现的开放源代码的嵌入式嵌入式GUI 特点: 1主要特色:提供较为完善的图形功能,支持多种外部设备输入,包括LCD、鼠标和键盘等。 2核心是基于显示设备接口的,绝大部分使用C语言开发的,移植性很强。 3主要在linux、wince等操作系统上运行。 4对硬件资源的需求: 文件存储空间:100k-600k 输入输出接口:支持frambuffer ,支持每像素1、2、4、8、16、24、32.支持彩色和灰度显示。支持鼠标、键盘、触摸屏。 CPU:支持intel 16位32位,MIPS R4000、ARM。 二、Qt/Embedded(简称QtE) QtE是一个专门为嵌入式系统设计图形用户界面的工具包,挪威Trolltech 公司产品。1995年正式发行第一个版本Qt0.9。Linux桌面系统的KDE 就是基于Qt库开发的,Qt与linux操作系统的兼容性最好。

特点: 1主要特色:支持多种平台,移植时只需重新编译代码而不需要对代码进行修改。 2模块化,可剪裁,极其适合嵌入式系统的“小而快”的要求。 3用C++编写,为开发者提供清晰的框架。 4 For free 版本代码完全开放。https://www.wendangku.net/doc/4610926897.html, 三、uc/GUI uC/GUI是一个通用的嵌入式应用的图形模块,它是美国Micrium公司开发的一种高效的、与处理器和LCD控制器独立的通用GUI,可以适用各种CPU和LCD,uC/GUI完全以ANSI-C编写,因此它与处理器无关,在单任务和多任务操作系统都可以很好的应用、可以很方便地移植到不同的操作系统和嵌入式微处理器上,并可支持不同尺寸的图形液晶显示器。它采用层次化的设计,功能强大,移植方便,被广泛地应用于嵌入式领域,如PDA、机顶盒以及DVD NCD播放机等 (1)支持任何8位、16位和32位的CPU,只要求CPU具有相应的ANSI-C编译器即可; (2)所有硬件接口定义都使用可配置的宏; (3)字符、位图可显示与LCD的任意点,并不限制与字节长度的整数倍数地址; (4)所有程序在长度和速度方面都进行了优化,结构清晰;

Geoserver环境部署

Geoserver环境部署 在服务器上先创建一个文件夹,将环境包(https://www.wendangku.net/doc/4610926897.html,/s/1bnzyhlX)里面的以下文件先上传到服务器。(示例目录:/home/liuyong/map-software) 1.JDK1.8安装 切换到root账号

解压jdk后将其移动到/usr/local下 设置环境变量 在文档的最后输入以下内容: 执行以下命令查看是否成功。 重启机器看是否能够正常加载环境变量

重启后通过java –version查看java版本,通过echo $PATH查看环境变量是否正确。 2.Tomcat 8安装 切换到root账号 解压tomcat后将其移动到/usr/local/下 为方便记忆,设置tomcat8软链接 设置环境变量 打开profile

在文档最后输入以下内容: 设置tomcat环境变量 进入tomcat/bin目录,编辑catalina.sh文件,在# OS specific support. $var _must_ be set to either true or false.之前(大约97行)输入以下内容: 将tomcat添加到开机启动 设置startup.sh 打开startup.sh 在开头输入以下内容: 创建startup.sh软链接到rc.d/init.d/下面

查看tomcat8是否有可执行权限 如果没有使用chmod +x tomcat8添加。 使用chkconfig --add tomcat8添加到开机启动服务,然后使用chkconfig --list查看是否添加成功。 重启机器测试

GeoServer安装与部署

GeoServer安装与配置 目录 1、GeoServer介绍................................................................................... 错误!未定义书签。 2、java运行环境 ..................................................................................... 错误!未定义书签。 3、GeoServer安装................................................................................... 错误!未定义书签。 4、Udig安装 ............................................................................................ 错误!未定义书签。 5、启动GeoServer ................................................................................... 错误!未定义书签。 6、GeoServer配置与发布(最简发布)............................................... 错误!未定义书签。 7、修改发布图层的样式......................................................................... 错误!未定义书签。 8、发布图层组......................................................................................... 错误!未定义书签。 9、GeoServer与Oracle环境搭建 .......................................................... 错误!未定义书签。 10、缓存设置(还没弄)....................................................................... 错误!未定义书签。 1、GeoServer介绍 GeoServer 是OpenGIS Web 服务器规范的J2EE 实现的社区开源项目,利用GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer 可以比较容易的在用户之间迅速共享空间地理信息. 搭建GeoServer环境需要安装GeoServer、Java JDK 。 GeoServer兼容WMS 和WFS 特性(有关WMS 和WFS内容详见文档“OGC标准”);支持PostGIS 、Shapefile 、ArcSDE 、Oracle 、VPF 、MySQL 、MapInfo ;支持上百种投影;能够将网络地图输出为jpeg 、gif 、png 、SVG 、KML 等格式;能够运行在任何基于J2EE/Servlet 容器之上;嵌入MapBuilder 支持AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。 关于GeoServer更多信息可以访问百度百科了解:或官网了解:display/GEOS/Welcome 。 2、java运行环境 GeoServer是一个java应用程序,因此需要安装java运行环境。 从java官网下载 点击安装jdk。 3、GeoServer安装 GeoServer既可以以window服务形式安装,也可以作为应用软件来安装。 1、从官网display/GEOS/Stable下载最新geoServer版本双击安装

MiniGUI 体系结构

MiniGUI 体系结构之二 1 引言 在任何一个足够复杂的 GUI 系统中,处理窗口之间的互相剪切是其首要解决的问题。因为多窗口系统首先要确保一个窗口中的绘制输出不会影响到另外一个窗口。为此,GUI 系统一般要利用 Z 序来管理窗口之间的互相剪切关系。根据窗口在 Z 序中所处的位置,GUI 系统要计算每个窗口受剪切的区域,即剪切域。通常,窗口的剪切域定义为互不相交的矩形集合。GUI 系统的底层图形引擎在进行输出时,要根据当前输出的剪切域进行输出的剪切操作。从而保证窗口的绘制输出不会互相影响。因为任何一个窗口的创建、销毁、隐藏、显示均有可能影响其他窗口的剪切域,所以首先要有一个高效的剪切域维护算法。本文将详细描述MiniGUI 中的剪切域生成算法。 许多人对控件(或者部件)的概念已经相当熟悉了。控件可以理解为主窗口中的子窗口。这些子窗口的行为和主窗口一样,即能够接收键盘和鼠标等外部输入, 也可以在自己的区域内进行输出?D?D只是它们的所有活动被限制在主窗口 中。MiniGUI 也支持子窗口,并且可以在子窗口中嵌套建立子窗口。我们将MiniGUI 中的所有子窗口均称为控件。 在 Windows 或 X Window 中,系统会预先定义一些控件类,当利用某个控件类创建控件之后,所有属于这个控件类的控件均会具有相同的行为和显示。利用这些技术,可以确保一致的人机操作界面,而对程序员来讲,可以像搭积木一样地组建图形用户界面。MiniGUI 使用了控件类和控件的概念,并且可以方便地对已有控件进行重载,使得其有一些特殊效果。比如,需要建立一个只允许输入数字的编辑框时,就可以通过重载已有编辑框而实现,而不需要重新编写一个新的控件类。 在多语种环境中,输入法是一个必不可少的模块。输入法提供了将标准键盘输入翻译为适当语种的文字的能力。MiniGUI 中也包含有标准的中文简体输入法,包括全拼、五笔和智能拼音等等。本文最后将介绍 MiniGUI 中的输入法模块实现。 回页首 2 窗口 Z 序 Z 序实际定义了窗口之间的层叠顺序。说起“Z 序”这个名称,实际是相对屏幕坐标而言的。一般而言,屏幕上的所有窗口均有一个坐标系,即原点在左上角,X 轴水平向右,Y 轴垂直向下的坐标系。Z 序就是相对于一个假想的 Z 轴而言的,这个 Z 轴从屏幕外指向屏幕内。窗口在这个 Z 轴上的值,就确定了其 Z 序。Z 序值大的窗口,覆盖了 Z 序值小的窗口。

Windows下GeoServer的安装与配置

Windows下GeoServer的安装 郭伟伟2010-4-18 网上看了很多资料,对GeoServer的安装大多采用Windows installer的方式,结果是出了很多问题。很多人问GeoServer的安装问题,把出错的一堆代码丢过来,这些问题本来都不该出现的,可由于系统环境或者其他问题总是会引起这样那样的问题。包括我第一次安装的时候也是出了不少问题,后来在导师的指点下很顺利地安装完成。看到这么多GeoServer的新手总是为此烦恼,特写此文章,避免大家在后来的工作中走弯路。 GeoServer官网的下载Download栏目下面有好几个版本可供选择,包括稳定版、最新版和老版本,选择你所需要的下载。在这里我打算以GeoServer1.7.5做示范,所以选择Older Releases,然后再选择GeoServer 1.7.5,打开这个页面你会看到GeoServer1.7.5、相关文档以及插件的下载。在这里要注意了,很多新手一看Windows Console Installer就激动了,下下来参照说明手册一路安装,结果就出现了开头描述的那么多问题。其实呢,手册中有很多细节问题可能被你忽略,这些细节将会导致这样那样的问题。所以,最方便也最合理的方式是自己安装Servlet 容器(这里我们选用Tomcat,而GeoServer自带的是Jetty就不好用),然后自己再部署GeoServer的压缩包。

思路清楚了我们也就明白了,这里需要下载Web Archive(GeoServer的压缩包,Servlet容器会自动展开)。同时我们也需要下载Tomcat6.0.20,以及JDK1.6.0。 下载好所有的东西后,我们首先安装JDK。 1安装与配置JDK 1.1安装JDK与JRE 首先运行下载的jdk-6-windows-i586.exe(根据你下载的版本不同,名字可能不同)。开始安装前先阅读协议,然后“接受”进入下一步,如下图: 接下来是选择JDK的安装目录,一般选择默认的即可,若你要更改目录也可以,但记得在后面的环境变量配置时配置正确的目录,如下图所示,点击“下一步”。

MiniGUI 高级图形支持系统

MiniGUI 高级图形支持系统 MiniGUI 是一款面向实时嵌入式系统的图形用户界面支持系统。MiniGUI 的开发起始于1998 年底,到现在已历经十年多时间。经过飞漫软件多年的精心打造,MiniGUI 已经成为性能优良、功能丰富的跨操作系统嵌入式图形用户界面支持系统。目前,MiniGUI 已经广泛应用于通讯、医疗、工控、电力、机顶盒、多媒体终端等领域。使用MiniGUI 成功开发产品的企业有华为、中兴通讯、大唐移动、长虹、TCL、联想、迈瑞、南瑞、炬力、D2 等。这些用户广泛分部在中国大陆、中国台湾、新加坡、韩国、美国、德国、意大利、印度、以色列等国家和地区。值得一提的是,在中国自主开发的3G 通讯标准TD-SCDMA 中,约有60% 获得入网许可证的TD-SCDMA 手机使用MiniGUI 作为其嵌入式图形平台,以支撑浏览器、可视电话等3G 应用软件的运行,其中有海信T68、中兴通讯U85 等TD 手机型号。 MiniGUI 的软件架构 如上图所示,从底至上,MiniGUI 由如下几个模块组成: 图形抽象层(Graphics Abstraction Layer,GAL)。图形抽象层将来自不同操作系统或设备的图形接口进行抽象,为MiniGUI 上层提供统一的图形接口。在图形抽象层内,包含有针对Linux FB 设备、eCos LCD 设备等的软件组成部分。这些软件组成部分通过调用底层设备的接口来实现具体的图形抽象层操作,如打开设备、设置分辨率及显示模式、关闭设备等。我们将

这些用于适配图形抽象层接口的软件组成部分称为“引擎(engine)”,其概念和操作系统中的设 备驱动程序类似。 ?输入抽象层(Input Abstraction Layer,IAL)。和GAL 类似,输入抽象层将MiniGUI 涉及的所有输入设备,如键盘(keyboard)、小键盘(keypad)、鼠标(mouse)、触摸屏(touch screen)等抽象了出来,为上层提供一致的接口。要支持不同的键盘、触摸屏或者鼠标接口,则通过为IAL 编写不同的输入引擎实现。MiniGUI 通过IAL 及其输入引擎,提供对Linux 控制台(键盘及鼠标)、触摸屏、遥控器、小键盘等输入设备的支持。 ?图形设备接口(Graphics Device Interfaces,GDI)。该模块基于图形抽象层为上层应用程序提供图形相关的接口,如绘制曲线、输出文本、填充矩形等等。图形设备接口中含包含其他比较独立的子模块,如字体字符集(font and charset)支持、图像(image)支持等。 ?消息处理模块(Messaging Module)。该模块在输入抽象层基础上,实现了MiniGUI 的消息处理机制,为上层提供了完备的消息管理接口。众所周知,几乎所有的GUI 系统本质上都是事件驱动的,系统自身的运行,以及GUI 应用程序的运行,都依赖于消息处理模块。 ?多窗口处理模块(Windowing Module)和控件(Control 或Widget)。基于图形设备接口和消息处理模块,MiniGUI 实现了多窗口处理模块。该模块为上层应用程序提供了创建主窗口和控件的基本接口,并负责维护控件类。控件类是用来实现控件代码重用的重要概念,利用控件类(control class),我们可以创建属于某个控件类的多个控件实例(instance),从而让这些控件实例使用同一个控件类的代码,这样,我们就实现了类似C++ 那样的类和实例概念, 从而可以最大程度上重复利用已有代码,并提高软件的可维护性。MiniGUI 的控件模块实现了常见的GUI 控件,如静态框、按钮、编辑框、列表框、下拉框等等。 ?外观支持(Look and Feel)。这个模块是MiniGUI V3.0 提供给上层应用程序的接口,可用来定制MiniGUI 窗口、控件的绘制。在MiniGUI V3.0 之前的版本中,对主窗口和控件的定制能力,还没有被抽离出来形成独立的模块,但我们仍然可以通过配置选项让MiniGUI 的主窗口、控件具有三种显示风格,分别是:类似PC 的三维风格(PC3D)、平板风格(FLAT)、流行风格(FASHION)。在MiniGUI 3.0 中,主窗口和控件的外观可完全由应用程序自行定制,在创 建主窗口或者控件时,指定外观渲染器(renderer)的名称,就可以让主窗口或者控件具有各自 不同的外观。 MiniGUI 运行模式 和Linux 这样的类UNIX 操作系统相比,一般意义上的传统嵌入式操作系统具有一些特殊性。举例而言,诸如uClinux、uC/OS-II、eCos 等操作系统,通常运行在没有MMU(内存管理单元,用于提供虚拟内存支持)的CPU 上;这时,往往就没有进程的概念,而只有线程或者任务的概念,这样,MiniGUI 的运行环境也就大相径庭。因此,为了适合不同的操作系统环境,我们可将MiniGUI 配置成三种不同的运行模式: ?MiniGUI-Threads。运行在MiniGUI-Threads 上的程序可以在不同的线程中建立多个窗口,但所有的窗口在一个进程或者地址空间中运行。这种运行模式主要用来支持大多数传统意义上的嵌入式操作系统,比如VxWorks、ThreadX、Nucleus、OSE、pSOS、uC/OS-II、eCos等等。 当然,在Linux 和uClinux 上,MiniGUI 也能以MiniGUI-Threads 的模式运行。

geoserver与OpenLayers配置入门

geoserver与OpenLayers配置入门 作者:lizongbo发表于:13:10. 星期六, 一月5th, 2008 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。https://www.wendangku.net/doc/4610926897.html,/archives/2008/01/05/61.html geoserver与OpenLayers配置入门 Word文档在:https://www.wendangku.net/doc/4610926897.html,/docs/gis/geoserver_OpenLayers_Config.doc 因工作需要,这几天早对webgis进行摸索,总结如下: 2008年1月 目录 1 准备工作 4 1.1 需要用到的程序和资料 4 2 地图格式转换方式(一) 5 3 地图格式转换方式(二) 5 3.1 解压地图 5 3.2 打开地图 5 3.3 导出图层 6 3.4 转换MIF格式为SHP格式 6 4 GEOSERVER安装配置 6 4.1 GEOSERVER安装 6 4.2 配置地图 6 4.2.1 登录geoserver 7 4.2.2 配置数据7 4.2.3 新建数据集8 4.2.4 新建Feature Type 10 4.2.5 应用保存配置12 4.2.6 访问地图15 5 OPENLAYERS配置16 5.1 测试页面16 5.2 部署示例21 5.3 查看效果21 5.4 加上GOOGLEMAP图层21 5.4.1 申请Google 地图API 的key 21 5.4.1.1 将域名映射到本地21

5.4.2 编辑html 22 5.4.3 查看效果22 6 GEOSERVER高级设置23 6.1 自定义图层的STYLE 23 6.2 查看图层的字段信息26 6.3 在TOMCAT上部署GEOSERVER 27 6.4 自定义名称空间28 7 参考资料31 1 准备工作 相关资料文件下载 1.1 需要用到的程序和资料 1. JDK 1.6 : https://www.wendangku.net/doc/4610926897.html,/software/java_se/jdk-6u3-windows-i586-p.exe 安装好JDK1.6 2. MapInfo Professional 6.4 SCP中文版或者8.5 SCP英文版 安装好Mapinfo 3. geoserver 1.5.4 或者1.6.0 Rc2 https://www.wendangku.net/doc/4610926897.html,/sourceforge/geoserver/geoserver-1.5.4a.bin.zip https://www.wendangku.net/doc/4610926897.html,/sourceforge/geoserver/geoserver-1.5.4a.src.zip https://www.wendangku.net/doc/4610926897.html,/sourceforge/geoserver/geoserver-1.5.4a.war.zip https://www.wendangku.net/doc/4610926897.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-war.zip https://www.wendangku.net/doc/4610926897.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-pyramid-p lugin.zip https://www.wendangku.net/doc/4610926897.html,/sourceforge/geoserver/geoserver-1.6.0-RC2-mysql-plu gin.zip 来源:https://www.wendangku.net/doc/4610926897.html,/display/GEOS/Download 4. Openalyers 2.5 https://www.wendangku.net/doc/4610926897.html,/download/OpenLayers-2.5.zip 来源:https://www.wendangku.net/doc/4610926897.html,/

MiniGUI及其移植与应用

MiniGUI及其移植与应用 权宁一 (东北电力大学信息工程学院吉林吉林132012) 【摘要】:本文介绍了MiniGUI系统在嵌入式开发中的移植与应用。对MiniGUI图形软件的特点、体系结构、工作模式做了叙述,描述了MiniGUI在uc_osⅡ环境中的移植方法,MiniGUI应用软件的开发思想和流程,并对其应用领域做了介绍。 【关键词】:MiniGUI,移植,控件,消息循环 1、MiniGUI概述 随着嵌入式系统在工业控制、信息家电、智能手持终端、办公自动化等领域中的广泛应用,人们对产品的图形用户接口(GUI)的需求越来越强烈。图形美观、界面友好的GUI已广泛应用在3G手机、PDA、智能传感器、工控终端等嵌入式设备上,其中比较成熟的GUI产品有:MiniGUI、MicroWindows、OpenGUI、TinyXWindow、QT/Embedded。 MiniGUI最初是清华大学为数控机床研发计算机控制系统时根据需要独立开发的图形用户接口,它具有代码小巧、实时性好、高效稳定、易于裁减的特点,非常适合应用于嵌入式实时控制系统。MiniGUI可以运行在任何一种具有线程支持的POSIX兼容系统上,同时也是国内出现的最早的遵循LGPL条约的自由软件之一。MiniGUI有三种运行模式:⑴MiniGUI-Threads:运行在MiniGUI-Threads的程序可在不同的线程中建立多个窗口,但所有的窗口在一个进程中运行,可以配合的操作系统有ucosii、vxworks、linux。⑵MiniGUI-lite:每个程序是单独的进程,每个进程可建立多个窗口,只有具备完整unix特性的操作系统才可运行这一模式。⑶MiniGUI-standalone,可以以独立进程方式运行而不需要其它任何支持,这种方式几乎可以支持所有操作系统。MiniGUI具有以下特点:⑴小巧可订制,包含全部功能的库文件只有300k。⑵高稳定性,可移植性好。⑶界面皮肤支持,用户可通过皮肤支持获得华丽外观界面。⑷提供了完备的多窗口机制及消息传递机制。⑸丰富的控件资源,包括菜单、进度条、列表框、按钮、工具栏等。(6)多种键盘布局支持,多字符集及多字体支持,常见的图像文件支持。⑺多种汉字输入法支持,windows资源文件支持。 2、MiniGUI的结构特点与移植方式 2.1MiniGUI的体系结构 图1MiniGUI结构体系 MiniGUI采用了分层结构设计思想,共分为GAL、IAL、Pthread层,MiniGUI核心层,用户接口层三层结构。GAL为图形抽象层,提供了底层操作系统的图形接口,配置MiniGUI选用GAL引擎,就可使用framebuffer作为MiniGUI图形发生引擎;IAL为输入抽象层,它提供了输入设备如键盘鼠标等的驱动,可将输入设备的输入事件最终映射为GUI系统API层的消息事件。有了GAL、IAL可以把底层硬件及操作系统进行完全屏蔽,方便MiniGUI的移植。同时,用户可在XWindow系统中调试运行自己的产品,通过重新编译就可使软件运行在特定的硬件平台上。Pthread(POSIXthread)是提供内核级线程支持的c库函数。MiniGUI核心层为中间层,包含了窗口系统所需要的各个功能模块,详见图1。用户接口层API对于不同的平台是一致统一的,底层系统已被完全屏蔽,用户不必考虑输入设备及绘图细节,只需使用标准C语言进行类似win32库函数调用即可。2.2MiniGUI工作模式 MiniGUI采用微客户/服务器机制,通过消息队列和多线程之间的同步机制来实现。在多线程环境中各线程之间有信息交互的需要,依据"先来先服务"的原则,依次处理每个线程的请求。一个线程首先在desktop微服务器的消息队列中放置一条消息,要求建立窗口,然后进入等待状态。当desktop处于空闲状态时可以立即处理这一请求。最后,desktop返回处理结果,唤醒等待的线程。 MiniGUI启动3个重要的微服务器,它们分别为desktop、parser、timer。其中desktop用于管理MiniGUI窗口中的所有主窗口;parser线程用于采集键盘鼠标事件并转换成API层消息;timer线程用来触发定时器事件。 2.3MiniGUI的移植 嵌入式系统的结构框架从底层到上层依次为:硬件平台、嵌入式操作系统、MiniGUI、用户程序,其中uclinux与uc/OS-II为常用的操作系统,下面以uc/OS-II为例介绍MiniGUI的移植。uc/OS-II具有实时性强、代码简单的特点,在教学及工业实时控制领域得到了广泛应用。MiniGUIforuc/OS-II的配置及编译可在windows环境中的ADS开发平台中进行,编译完成之后生成一个静态库MiniGUI_lib,最终生成包括uc/OS-II、MiniGUI、应用程序在内的可执行映像文件,将映像文件固化写入硬件平台即完成MiniGUI的移植。在编译之前需要进行以下工作:设置MiniGUI配置头文件、确定头文件路径、选定编译规则。MiniGUI配置头文件中参数_AUTO_IAL是模拟键盘鼠标选项;_COM-MM_IAL是uc/OS-II通用输入引擎;_GB_SUPPORT是字符集支持;_USE_OWN_MALLOC为内存管理函数支持;_USE_OWN_STDIO为函数支持。编译规则设置中_MiniGU-I_LIB_声明编译MiniGUI_LIB库;_uc/OS-II_声明目标操作系统;-EC允许隐性类型转换;_NOLINUX_表示非linux系统。3、基于MiniGUI的软件设计开发思想 3.1MiniGUI开发流程 uc/OS-II初始化后创建任务main_task,在该任务中创建POSIX协议线程main_thread,main_thread中调用函数mg_main_task,进入MiniGUI入口MiniGUI_entry,进而调用应用程序入口函数MiniGUIMain,执行用户软件及窗口过程函数。MiniGUI应用程序必须包括的头文件有:common.h--定义了宏及数据类型;minigui.h--定义了接口函数及杂项函数;window.h--定义了窗口的宏及数据类型;control.h--定义了系统内部控件。 MiniGUIMain()是程序的入口点函数,一般用户程序先创建一个主窗口或非模式对话框,在主窗口内建立若干控件,然后建立消息队列,进入窗口消息循环,响应各类消息。通过调用Cre-ateMainWindow()函数创建主窗口,函数返回窗口句柄。函数调用时需给MAINWINCREATE结构体指针赋值,确定主窗口的各项属性值。调用ShowWindow()函数将主窗口进行显(下转第71页 )

学习MiniGui之窗口创建篇

最近在学习MiniGui,将一些分析的结果贴出来供大家参考,同时欢迎大家的指正。图形编程中,窗口是一个重要的概念,窗口其实是一个矩形框,应用程序可以使用其从而达到输出结果和接受用户输入的效果。窗口系统(Window System)界于操作系统层次之上,它是一个软件系统,负责把显示屏幕分隔为不同的部分来帮助用户管理和控制不同的显示环境,它提供基于窗口的工作模式。在Linux上面,X就是一个典型的窗口系统吧。 在MiniGui中有三种窗口类型:主窗口,对话框和控件窗口。主窗口作为应用程序的主界面或开始界面。子窗口通常是控件窗口,也可以是自定义窗口类,这里的控件窗口说白了就是一些窗口上面的控件,比如按钮,编辑框等。对话框其实就是主窗口,只不过一般为了完成特殊用途,所以在此加以区分。 下面我们一起来看看这三种窗口类型的创建吧。首先看CreateMainWindow函数,它创建一个主窗口:由于代码比较长,这里就不全部贴出了,主要是说说关键的部分。 CreateMainWindow函数通过接受PMAINWINCREATE类型的参数而创建一个窗口,并返回其句柄。关于PMAINWINCREATE结构的具体成员变量,大家可以去查看源码。下面主要对函数内部做个简单介绍。 1.声明一个PMAINWIN类型,并分配空间,该变量用来存放创建的主窗口的信息 2.说下面的代码之前,先说说托管(Hosting)窗口和被托管(Hosted)窗口吧。我们知道 MiniGui内部实现了消息机制,即当有键盘输入事件发生时,就往消息队列中发送键盘消息,而一般是主窗口会不停的从消息队列中取出消息来处理,或者自己响应,或者忽略,或者派发给其他的窗口。那么这里就有一个问题,消息队列是每个主窗口都有一个呢,还是所有的主窗口都使用同一个消息队列?在MiniGui中有个特殊的主窗口HWND_DESKTOP,它是所有窗口的父窗口,直观的说就是整个桌面的窗口。当一个主窗口在创建的时候,可以指定新建一个消息队列,也可以使用别的主窗口的消息队列,如果是后者,假设主窗口A在创建时指定使用主窗口B的消息队列,那么A就被称为被托管窗口,而B则被称为托管窗口。所以很明显CreateInfo.hHosting就是用来指明托管窗口的。来看下面的代码,这里对MiniGUI 的两种运行模式进行了区分,1-26行是MiniGUI-Threads模式,在这种模式下,如果托管窗口为HWND_DESKTOP,则判断当前线程是否已经有了消息队列,如果没有则掉InitThreadInfo来新建一个消息队列,否则使用已经有的消息队列;如果托管窗口不为HWND_DESKTOP,则返回hHosting所在的主窗口的消息队列。这就保证了同一个线程的所有窗口使用同一个消息队列。27-31行是非MiniGUI-Threads模式下,新的主窗口使用HWND_DESKTOP的消息队列,托管主窗口如果为空则使用HWND_DESKTOP,否则设置为pHosting所在的主窗口。

相关文档