请问如何使一幅图片“半透明”啊,

laobeli 2005-11-29 01:49:02
有没有方法可以设置JLabel的图片中的透明属性啊,或者用drawImage方法画一个半透明的图片,而且还可以设置透明度
...全文
177 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
姓庄滴 2005-12-02
  • 打赏
  • 举报
回复
怎么样使一个SWING组件透明?
coolspear 2005-12-01
  • 打赏
  • 举报
回复
其实半透明技术就是一种渗透技术,渗透公式我们可选用多种,如我们选用(A AND 0x7F)OR B
hjpwhp 2005-11-30
  • 打赏
  • 举报
回复
BufferImage 类中可以把颜色模式设为 COLOR—ARGB 其中A就是 alpha
laobeli 2005-11-30
  • 打赏
  • 举报
回复
代码少点的不行吗?,有没有BufferImage的例子啊?关于那个COLOR-ARGB
jany0654 2005-11-29
  • 打赏
  • 举报
回复
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageProducer;
import java.awt.image.RGBImageFilter;

public class AlphaImage {
private Image image = null;

/*
* the image is your will change
*/
public AlphaImage(Image image) {
this.image = image;
}

/*
* i is the Alpha you will set
*/
public Image alphaImage(int i) {
ImageProducer producer = new FilteredImageSource(image.getSource(),new ImageAlphaFilter(i));
image = Toolkit.getDefaultToolkit().createImage(producer);
return image;
}

/*
* filter the image
*/
private class ImageAlphaFilter extends RGBImageFilter {
private int modelStyle = 255;

public ImageAlphaFilter(int moelStyle) {
this.modelStyle = moelStyle;
}

public int filterRGB(int x, int y, int rgb) {
int alpha = rgb & 0xFF000000;
int r, g, b;
r = (rgb & 0xFF0000) >> 16;
g = (rgb & 0xFF00) >> 8;
b = rgb & 0xFF;
alpha = modelStyle;
return alpha | (r << 16) | (g << 8) | b;
}
}
}
=========================================
没有去测试,我认为这样应该可以处理的~
不知道这个对楼主是否有用
:)
自己设定合适的alpha值

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧