定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面
2010-04-26 00:00:00 来源:WEB开发网通过图片来定义窗口界面
在介绍通过图片来获得图形外形前,我们先介绍一下图像方面的一点基础知识。
在计算机里,图像是通过像素来显示的 , 像素也叫图像分辨率。正如 WIKI 里面定义的,像素是图像显示的基本单位,是英文单词 picture 和 element 的组合而成。一幅图像中的像素可以在任何尺度上看起来都不像分离的点或者方块;但是在很多情况下,它们采用点或者方块显示。每个像素可有各自的颜色值,可采三原色显示,因而又分成红、绿、蓝三种子像素(RGB 色域),或者青、品红、黄和黑(CYMK 色域,印刷行业以及打印机中常见)。照片是一个个采样点的集合,故而单位面积内的像素越多代表分辨率越高,所显示的图像就会接近于真实物体。
如下图所示,图像被定义成 N * M 个方格,每个方格表示一个像素。每个像素都有自己的颜色值。蓝色图像就是大量蓝色小方格组成的。
图 7. 像素示意图
在 SWT 中,图像模型是 ImageData,它用来保存图像信息,如图像高度,宽度以及像素相关信息; 它不像 Image,是一个设备无关类。目前 SWT 支持 JPG, PNG, BMP 等图片格式。在这里我们遍历整个图片,获取每个像素值,如果像素值不为 0,表示该像素位于图片内。这些点组成的图形,就是图片的图像。
清单 5. 代码
ImageData mask = data.getTransparencyMask();
Rectangle pixel = new Rectangle(0, 0, 1, 1);
for (int y = 0; y < mask.height; y++) {
for (int x = 0; x < mask.width; x++) {
if (mask.getPixel(x, y) != 0) {
pixel.x = data.x + x;
pixel.y = data.y + y;
region.add(pixel);
}
}
}
- ››定制个性化的对话框窗口类
- ››定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ...
- ››定制基于 Visual studio 2005 平台 Windows CE(AR...
- ››定制版黑雨 blackra1n 越狱3.1.2 全系 iPhone
- ››RCP客户端实现保存不同用户的界面状态
- ››定制 Eclipse RCP 应用程序,第 1 部分: 可与 SWT...
- ››SWT 全接触
- ››定制AIX操作系统的shell环境
- ››定制任务栏上的系统菜单
- ››SWT/JFace开发入门指南之搭建开发环境
- ››定制一个灵活的struts框架
- ››RCPII:扩展通用工作台补充—小的改进
更多精彩
赞助商链接