SWT窗口如果要使用自己的不规则图片做背景,就需要手动编码去处理png图片中那些透明的部分。可以说是一像素一像素去处理,比较繁琐,所以不推荐透明区域太大的图片(影响重绘的进度),基本做一个圆角什么就可以了。
这里提供一个函数来处理一个图片区域的透明部分:
private Region handleTransparenceRegion(Image image, int offsetX, int offsetY) {
Region region = new Region();
final ImageData imageData = image.getImageData();
if (imageData.alphaData != null) {
Rectangle pixel = new Rectangle(0, 0, 1, 1);
for (int y = 0; y < imageData.height; y++) {
for (int x = 0; x < imageData.width; x++) {
if (imageData.getAlpha(x, y) != 255) {
pixel.x = imageData.x + x + offsetX;
pixel.y = imageData.y + y + offsetY;
region.add(pixel);
}
}
}
}
return region;
}
首先获得整个界面的边界:
view plaincopy to clipboardprint?
Region allRegion = new Region();
allRegion.add(0, 0, getSize().x, getSize().y);
然后把透明处理之后的部分重新subtract一下:
allRegion.subtract(handleTransparenceRegion(img,0,0));
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Ant_Yan/archive/2009/03/28/4031723.aspx
分享到:
相关推荐
SWT原生按钮不够美观,本案例实现自定义圆形按钮,代码可直接下载使用。
java SWT 基本窗口 组件 开发
详细描述了SWT组件的实际应用 详细在说明书
使Excel嵌入到SWT窗口中 使用的Eclipse版本:3.3.1 使用的jdk版本:5.0
java swt 窗口靠边自动隐藏,需要导入swt包...
SWT教程,很不错的,相当的精辟,呵呵,初学者的福音
SWT,AWT/Swing外,java的另一种桌面窗口程序的开发包。做JAVA桌面窗口开发,我们有了更多的选择。此API是我自己生成的。对应的SWT版本是我网上下的最新的,版本是swt-3.4,里面没有API。网上也没找到最新版本的,我...
swt绘制省市级联的代码,包括年月日的级联,简单易懂,快速入门
NULL 博文链接:https://spllot.iteye.com/blog/542928
有简单的SWT代码。。。。。。。。。。。
SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置
64位windows操作系统使用的SWT库
swt框架 适用与window下java窗口开发~~~~
swt背景拖动,拖动背景图片不将图片拖出窗口
swt工具文档 swt工具文档 swt工具文档 swt工具文档 swt工具文档 swt工具文档
SWT examples,SWT官方例子:http://www.eclipse.org/swt/examples.php 该页面所要下载的例子 其中,swt的例子在\plugins\org.eclipse.swt.examples.source_3.7.0.v3740f.jar中
下载编译的SWT库,版本号4.911,包含多个版本: org.eclipse.swt.cocoa.macosx.x86_64 org.eclipse.swt.gtk.linux.aarch64 org.eclipse.swt.gtk.linux.arm org.eclipse.swt.gtk.linux.ppc64le org.eclipse.swt.gtk....
SWT常用窗口组件详情,以及各个组件对应的系统方法的方法解释
SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法SWT插件中文教程SWT常用方法
swt 基础教程 swt 基础教程 swt 基础教程swt 基础教程swt 基础教程