linux 图形库编程资源

来源:互联网 发布:ac尼尔森数据分析2016 编辑:程序博客网 时间:2024/04/30 11:33

open source Embedded Linux Graphics System Software ---------------------------------------------------------------------------------------- Dillo浏览器,小于300K,开源,C and GTK+ Lib,遵循GPL www.dillo.org smamary:图像支持PNG、Jpeg、Gif HTML/XHTML,no frames 现在还不支持Jsp,JVM 全屏、非模块化用户界面高兼容性,比如手持设备中的 iPAQ、GMATE’s Yopy、Pison、CerfPod 非基于GECKO的定制化rendering引擎 in more detail http://www.linuxdevices.com/articles/AT7153264029.html 应用举例 http://www.linuxdevices.com/articles/AT2869412121.html ---------------------------------------------------------------------------------------- DirectFB http://directfb.org/ 一个小型库,提供开发者基于FrameBuffer上进行图形加速、输入设备处理提取、支持透明窗口和多重显示层的整合窗口系。对于不支持的硬件的图形操作,其提供了一个HAL。 提供的图形操作矩形填充/绘图三角形填充/绘图绘线 Flat shaded triangles (Stretched) blitting alpha通道混合(a.k.a texture alpha) Blending with a constant alpha blend factor (a.k.a. alpha modulation) Nine different blending functions respectively for source and destination, so all Porter/Duff rules are supported Colorizing (a.k.a. color modulation) Source color keying Destination color keying DirectFB有自己的显存资源管理,诸如显示层或输入设备之类的资源被锁定从而独占访问。 Font Provider (currently DirectFB bitmap font, TrueType via FreeType 2) Image Provider (currently PNG, GIF and JPEG) Video Provider (currently Video4Linux, AVI (using avifile), MPEG1/2 (using libmpeg3), macromedia flash (using libflash)) the Familiar Project an open source Linux distro for PDAs Compaq iPAQ h3600-series 完全基于Tiny-X server 使用Xft APIs 在rxvt、ion、blackbox、fltk下支持True-Type字体 OpenSSH JFFS2 整合Python2.0 、PyGtk 、PyGDKlmlib 兼容DedianARM ipkg ---------------------------------------------------------------------------------------- FBUI http://home.comcast.net/~plinius/fbui.html 驱动整合进内核核心32KB、库文件17KB 面板式窗口管理器 fbwm 静态连接 46KB 传统窗口管理器 fbwm 静态连接 39KB 终端模拟器 fbterm 静态连接 46KB 模拟时钟 fbclock 静态连接 34KB JPEG/TIFFviewer fbview 静态连接 42KB ---------------------------------------------------------------------------------------- GGI http://www.ggi-project.org/ General Graphics Interface 多平台编译支持快速、抽象、动态组件、高度优化子项目包括设备驱动子系统,可扩展用户空间API库构架、输入设备管理 ---------------------------------------------------------------------------------------- GPE GPE Palmtop Environment http://gpe.handhelds.org/ GPE掌上电脑环境 X window system, gtk+ widgets 可以交互SQL、XML GPL、LGPL ---------------------------------------------------------------------------------------- GtkFB http://developer.gnome.org/doc/API/2.2/gtk...ramebuffer.html 来源于GIMP项目 Gtk+ 2.0已可以直接对framebuffer进行着色,而非传统的使用Xwindow system,即使用FrameBuffer访问显卡,无需搭配一个Xserver 相关库:基本数据类型-Glib 支持不同字型文字处理库-Pango 图片文件格式-libpng、libjpeg、libtiff FrameBuffer port-FreeType库整合后即为gdk-pixbuf、gdk、gtk三个库 gdk-pixbuf 处理图片影像的库 gdk 视窗绘图系统的抽象层,framebuffer的处理 gtk 高级用户界面 几乎所有FB功能代码都包含在gdk中,称为通用gtk代码;有一些FB功能代码包含在gtk中用来管理窗口。 GtkFB shared lib 2MB FreeType lib 202KB libjpeg 138KB libpng 126KB memory mapped statistics: Arial font -- 72KB local info -- 112KB libc code -- 1444KB binary -- 120KB heap -- 836KB stack -- 24KB 采用动态连接DL的RSS大小(使用的所有物理大小)为3.4MB,静态连接SL的为2.5MB; DL虚拟内存总大小为6.6MB,进程间共享2.3MB; SL的为5.2MB,共享的为1.7MB; gdk库有三个基本任务绘图、处理交替窗口、产生事件。gdk核心很像Xwindow系统,事实上其使用了一个经修改的X库-libmi。交替窗口处理是指在一个窗口树中,确定在哪个窗口上进行操作。事件产生是通知gdk用户输入、窗口重绘。它是X产生的一个子集。因为gtk不需要所有X发出事件及其信息。当程序连接了GtkFB,其最先调用gtk_init()运行。同时,GtkFB打开FB设备(选择想要的分辨率和位深),键盘,鼠标,触控屏。然后到指定目录去读取字型,继续初始化window和事件系统。 GtkFB内建了普通键盘及鼠标的驱动,包括触控屏,当然添加其他的也是很容易的。GtkFB不使用硬件加速,但支持。 缺点:不支持多进程,不适合设计大型系统。如果GTK+程序中使用 direct X 调用,由于其不备GtkFB支持,所以需要修改。由于对硬件加速代码很难写,所以其在大型系统上运行很慢。不支持对功能还有:network transparency、DGA、多屏幕、Xv扩展、Xrender扩展。 通过以下命令可以编译相应部分,当然也可以让binaries变得更小: glib ./configure --enable-debug=no --disable-mem-pools=yes pango ./configure --enable-debug=no --with-included-modules=yes gtk+ ./configure --enable-debug-no --with-gdktarget =framebuffer --disable-shadowfb --disable-modules--with-included-loaders=xpm,png,jpeg ---------------------------------------------------------------------------------------- MatchBox http://projects.o-hand.com/matchbox/ Simple flexible XML themes Tniy-X server 使用在GPE、Tuxscreen phone项目中采用的硬件有Sharp Zaurus, Psion 5mx... 注:Tuxscreen phone a limited edition StrongARM Linux project platform http://www.tuxscreen.net/ ---------------------------------------------------------------------------------------- Microwindow Greg Haerr创建,前身为Nano 特点:提供Win32/WinCE API,便于平台间移植。其最底层的为一些键盘、触控屏等的I/O驱动,中间层为一些基本的绘图函数及色彩模型,上层为窗口的API,即Win32/Wince的GDI、Nano-X API。不需要Xserver 256KB~512KB slides: http://www.linuxdevices.com/files/elecjun00/haerr/ ---------------------------------------------------------------------------------------- MiniGUI www.minigui.com 魏永明创建最初以SVGALib and PThread为基础,现在包括了图形抽象层,输入抽象层,多国语系-ISO8859、GB2312、BIG5、EUCKR、UJIS,多种字型TrueType、Adobe Type1。分为多线程版MiniGUI、和 单线程MiniGUI Lite版 ---------------------------------------------------------------------------------------- NxZilla http://nxzilla.sourceforge.net/ 包括的项目: goanna--定制的Mozilla 嵌入版本 rdesktop--win下的RDP客户端 NxZilla--一套允许Mozilla使用Nano-X server的库 xilla--使nanozilla不再依靠诸如gtk等第三方工具组件和Xlib函数缺陷的移植项目(nanozilla是NxZilla的前身,嵌入式浏览器) mailcrypto--Mozilla的一个插件,使用户可以使用GnuPG(GNU Privacy Guard)提供的加密功能 oji--一个mozilla的开放Java接口-OJI,使kaffe在Html页面中可执行applets。 xpdfplugin--不说也明白的插件 rdesktop-nanox--RWin的一个版本,使用Nano-X绘图,支持KB/M输入 rdesktop-xlib--RWin的一个版本,使用Xlib绘图,KB/M输入 ---------------------------------------------------------------------------------------- OpenGL ES OpenGL嵌入式子项目详细介绍 http://www.khronos.org/opengles/#framework 站点 http://www.khronos.org/cgi-bin/ubb/ultimatebb.cgi?category=3 介于硬件和软件之间的轻量级低级别API 组成:全3D管线的3D核心子集;反锯齿文本几何图形的2D核心子集;光栅图像处理的核心图像子集;对所有硬件本地API增加功能的组库 ---------------------------------------------------------------------------------------- OpenGUI http://www.tutok.sk/fastgl/ 提供简单的2D制图和事件驱动窗口API 支持bmp 其构建在用x86汇编所写的快速的图形内核之上的高级别C/C++图形窗口库,支持MMX 支持Borland BGI风格和QT风格的窗口 LGPL 大部分库支持FrameBuffer OO多平台API (DJGPP、WATCOM、Linux、QNX)全应用程序开发构架图形库的组成:三个层汇编内核层基本图形的绘制层API C++,窗口、按钮、菜单,位图绘制的GUI实现层 ---------------------------------------------------------------------------------------- PicoGUI http://picogui.org/ 特点: widgets和绘图引擎内建于server C/S构架模块化--视频、输入、网络子系统可以在编译时被置换目标是为PalmOS整合Xwindows的简易和速度去掉ELF二进制映像文件后,大小为100KB。 ---------------------------------------------------------------------------------------- QT/E http://www.trolltech.com/download/index.html 嵌入版的API基本和Qt/Windows、 Qt/X11相同,但不需要使用X11。特点:跨平台,面向对象 PAD解决方案:Qt plamtop environment 800KB~3MB ---------------------------------------------------------------------------------------- SDL http://www.libsdl.org/index.php http://www.libsdl.org/intro.cn/toc.html Simple DirectMedia Layer free multimedia API,cross platform 快速存取图形framebuffer、音频设备《文明》即采用其移植支持Linux、Win32、BeOS、MacOS、Solaris、IRIX、FreeBSD 底层用C实现,用户层用C++实现;并捆绑了多种语言:Perl、Python、ML、Eiffel ---------------------------------------------------------------------------------------- TinyX http://xfree86.org Tiny X server即Xfree86的简化版,Keith Packard创建 1MB~3MB ---------------------------------------------------------------------------------------- ViewML Viewable Markup Language http://www.microwindows.org/ViewMLDesign.html 嵌入式linux开源浏览器需要760KB-2.1MB RAM 其采用KDE下设计出众、显示性能良好的kfm Html显示引擎。移植引擎时,采用了thin glue layer ,使用小而快的FLTK应用程序架构。运行于Microwindows下注:thin glue layer http://www.linuxdevices.com/articles/AT5848940287.html ---------------------------------------------------------------------------------------- WML Browser Wireless Markup language http://wmlbrowser.mozdev.org/ http://www.wmlscript.de/Referenz/Libraries/WmlBrowser.html 无线因特网浏览器核心部分是binary WML decoder 特点:基于FrameBuffer上实现,可运行于许多协议栈上,诸如:WAP、http、https 使用不同的User Agent profile ,如phone、pda、appliances 实现WAP 的所有可选功能 IPv4、IPv6、蓝牙、红外传输 WMLScript、WML content plugable content arch WTLS and Certificates ---------------------------------------------------------------------------------------- Commercial Embedded Linux Graphics System ---------------------------------------------------------------------------------------- Metro-X http://www.lynuxworks.com/partners/show_product.php?ID=83 NetFront Browser http://www.access-netfront.com/ Access Systems Amerian. Inc. 主要开发地为USA和Japan 支持的设备生产商很多,如NTTDoCoMo、Sega、Nintendo等 Japan厂商。主要用于TV、PDA、STB、CarNavigationSystem、SmartPhone、Web/screenPhone、VerticalIntranet terminal、Video game console、dedicated word processor、Internet kiosk 特点:大小:代码小于270KB,执行RAM 2MB 支持Html、Frames、javs script、cookies、web printing、多语言兼容可裁减的插件有:Mail、SSL、JVM... 支持的处理器有:ARM core、StrongARM core、Hitachi SH、PowerPC、MIPS core、Mitsubishi M32R/D SDK有两个配置版本:使用GTK+的Xwindow版本、使用SDL的非Xwindow版本组件包括: NetFront brower kernel、一个简单的UI模块、PIM组件、 Internet Mail模块、一个简单的对等接口层库、图形层(GTK/SDL),可选的有AVE-SSL,SSL 模块 ---------------------------------------------------------------------------------------- ANT Fresco Browser http://www.antlimited.com/products/fresco.htm 主要针对交互式TV、消费电子、嵌入设备,源码发放支持HTML、javs script扩展、Flash、SSL、预测文本输入、Agfa和Bitstream高质量反锯齿字体移植容易 ---------------------------------------------------------------------------------------- PIXIL http://embedded.centurysoftware.com/pixil/pixil_pda11.php 高级互联网设备、无线通信、网络、web浏览、电源管理、GUI 基于嵌入式Linux开放标准的完全整合构架,可以开发商耗时耗钱的组件整合,并确保特定应用易于使用、兼容和维护 PIXIL OE PIXIL open Enviroment Century开发商已针对特定嵌入式设备进行了优化。MicroWindows系统内置于PIXIL解决方案核心中的smart flat panels 以源码的方式自动创建framebuffer,X11,交叉编译环境。支持的硬件:StrongARM、MIPS、PPC、SH、x86包含的组件有: Microwindows 、ViewML FLNX-PDA -- a flat-style custom modified FLNX NxScreentop--a screentop and window manager, complete with backlight control, a clock, and input method launchers NxTerm--终端模拟器 NxClock--模拟时钟 NxBill--XBill的Microwindows版本 Doom Game 计算器 Screen calibrator 手写识别软件弹出式键盘 PIXIL遵循GPL和PIXIL商业协议 GPL下的当然以源码方式发布商业版可参看公司相关协议 功能: PIXIL PIM、PIXIL Desktop PIXIL Internet Connectivity --ViewML Browser 、Email client PIXIL Applications --MP3 player 、Voice recorder 、Terminal emulator 、Calculator PIXIL SDK Desktop Emulation and Development --包括一个软件模拟器,用来模拟目标设备运行环境。 PIXIL SDK Components -- 完全的源码、makefile、build环境 all runtime binarity 完整的开发工具链所需库文件目标平台桌面开发模拟器 FLNX 2D、3D 、TV widgets 组件集 支持平台 Applied Data Systems Graphics Client Plus Compaq iPAQ Intel Assabet National Semiconductor SP3GX01 WebPAD Reference Platform National Semiconductor SP4SC30 Thin Client Development Board National Semiconductor SP4GX10 Thin Client Development Board PIXIL绑定组件集目标设备的开发工具整合 PIXIL PDA--包括OE、PIM suite 、e-mail client、web browser、多媒体app,内建了Microwindows PIXIL PAD--包括Linux kernel、screentop、app manager、net browser、多媒体app... PIXIL thin client-- Citrix ICA and Microsoft RDP client Internet browser: HTML, CSS, javs script, Flash, Real Audio/Video Linux kernel 技术特点: 32 MB minimum RAM / Flash Ethernet, 802.11b Client-side audio support Local USB support Samba and NFS Support Font and RGB server support Screen resolution up to 1280x1024 Multi protocol, multi client, and multiple server session support CompactFlash and DiskOnChip Local window manager with virtual Windows desktop remote window manager and XDM Multi language support ---------------------------------------------------------------------------------------- Espial Suite http://www.windriver.com/cgi-bin/partnersh...Prod.cgi?id=882 windriver 纯Java应用层,JVM运行于设备栈顶层套件包括 Espial DeviceTop graphical OSGi client http://www.linuxdevices.com/products/PD6340767984.html Espial Escape web browser http://www.linuxdevices.com/products/PD5203952494.html Espial Ebox email client http://www.linuxdevices.com/products/PD7904716349.html Espial Espresso lightweight GUI toolkit http://www.linuxdevices.com/products/PD9895797586.html ---------------------------------------------------------------------------------------- NetClue: Clue WBC browser http://www.netcluesoft.com/desktop/desktop.php3?sub=products 纯Java,非常紧凑,模块化设计,平台无关支持Unicode国际字符 smooth scrolling 流线型显示 web打印定制化的UI WAP、HTML、XML、HTTP、CSS、DOM、cookies、JSP、java applets ---------------------------------------------------------------------------------------- LinuxPEG Portable Embedded GUI Vendor: Swell Software http://www.swellsoftware.com/Linux.html LinuxPEG是popular PEG library的派生,针对嵌入式系统。为现在POSIX 多线程嵌入式Linux可以应用在LCD、Video显示商。特点:版权自由,无版税,提供free demo small footprint 完全C++源码支持流行的目标处理器、视频控制器、I/O设备易于移植容易缩减开发时间业界领先的多语言支持开发 开发工具包括: WindowBuilder可视化设计工具 FontCapture嵌入字体产生器 ImageConvert ROMable ---------------------------------------------------------------------------------------- Qtopia Qt-based mobile palmtop environment Vendor: Trolltech 基于Qt/E 主要应用: Sharp Zaurus SL-5500 PDA 信息管理、Internet连接、娱乐、synchronization across multiple desktop OS。 Qtopia支持Windows、Mac、Unix、Linux,源代码只需要重编译即可运行。 6~8MB 包括OS在内的ROM ------------------------------------------- 注:基本图形系统构成初级的绘图函数库Glib,往上组合成基本视窗组件widgets;然后由此写出WM; Widget窗口构架部分 GTK、FLTK、QT、wxWindows GTK http://www.gtk.org/ FLTK Fast Light Tool Kit http://www.fltk.org/ http://www3.telus.net/public/robark/ wxWindows http://www.wxwidgets.org/embedded.htm

原创粉丝点击