WEB开发网
开发学院软件开发Java 定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ... 阅读

定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面

 2010-04-26 00:00:00 来源:WEB开发网   
核心提示: 通过图片来定义窗口界面在介绍通过图片来获得图形外形前,我们先介绍一下图像方面的一点基础知识,定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面(6),在计算机里,图像是通过像素来显示的 , 像素也叫图像分辨率,表示该像素位于图片内,这些点组成的图形,正如 WIKI 里面定义的,

通过图片来定义窗口界面

在介绍通过图片来获得图形外形前,我们先介绍一下图像方面的一点基础知识。

在计算机里,图像是通过像素来显示的 , 像素也叫图像分辨率。正如 WIKI 里面定义的,像素是图像显示的基本单位,是英文单词 picture 和 element 的组合而成。一幅图像中的像素可以在任何尺度上看起来都不像分离的点或者方块;但是在很多情况下,它们采用点或者方块显示。每个像素可有各自的颜色值,可采三原色显示,因而又分成红、绿、蓝三种子像素(RGB 色域),或者青、品红、黄和黑(CYMK 色域,印刷行业以及打印机中常见)。照片是一个个采样点的集合,故而单位面积内的像素越多代表分辨率越高,所显示的图像就会接近于真实物体。

如下图所示,图像被定义成 N * M 个方格,每个方格表示一个像素。每个像素都有自己的颜色值。蓝色图像就是大量蓝色小方格组成的。

图 7. 像素示意图
定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面

在 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); 
  } 
 } 
 } 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:定制 SWT RCP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接