java中怎么把贴图背景改为透明

 我来答
润泽且素淡灬瑰宝h
2015-04-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3561
采纳率:3%
帮助的人:1874万
展开全部
你试一下设置opacity属性。这个是透明度的属性。
追问
可以说详细一点吗?比如你贴图用的哪个函数?谢谢
追答
我没有在Java中做过,我是用JSP或者HTML来做的UI,在这里面设置一个图片或者对象的透明度就是设置它的opacity属性。
透明度设置为半透明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
碧血玉叶花
2015-04-28 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1717万
展开全部
Swing最新特性:增加透明窗体及不规则窗体功能 
透明窗体: 
public class TranslucentWindow extends JFrame { 
public TranslucentWindow() { 
super("透明窗体"); 
this.setLayout(new FlowLayout()); 
this.add(new JButton("按钮")); 
this.add(new JCheckBox("复选按钮")); 
this.add(new JRadioButton("单选按钮")); 
this.add(new JProgressBar(20, 100)); 
this.setSize(new Dimension(400, 300)); 
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 


public static void main(String[] args) { 
JFrame.setDefaultLookAndFeelDecorated(true); 
SwingUtilities.invokeLater(new Runnable() { 
public void run() { 
Window w = new TranslucentWindow(); 
w.setVisible(true); 
com.sun.awt.AWTUtilities.setWindowOpacity(w, 0.6f); 

}); 


}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT刚入门
2015-04-28 · 超过30用户采纳过TA的回答
知道答主
回答量:49
采纳率:100%
帮助的人:37万
展开全部
你这个问的是网站还是swing啊
追问
是swing,在窗口上贴一张图片,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灵粉哈x
2015-04-27 · TA获得超过1487个赞
知道大有可为答主
回答量:2001
采纳率:25%
帮助的人:1600万
展开全部
代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293    package com.picture;     import java.awt.Graphics2D;  import java.awt.image.BufferedImage;  import java.io.File;  import java.io.IOException;  import java.util.regex.Pattern;     import javax.imageio.ImageIO;  import javax.swing.ImageIcon;  import javax.swing.JOptionPane;     public class Picture {         public static void convert(String path) {          // TODO Auto-generated constructor stub          try {              BufferedImage image = ImageIO.read(new File(path));              ImageIcon imageIcon = new ImageIcon(image);              BufferedImage bufferedImage = new BufferedImage(                      imageIcon.getIconWidth(), imageIcon.getIconHeight(),                      BufferedImage.TYPE_4BYTE_ABGR);              Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();              g2D.drawImage(imageIcon.getImage(), 0, 0,                      imageIcon.getImageObserver());              int alpha = 0;              for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage                      .getHeight(); j1++) {                  for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage                          .getWidth(); j2++) {                      int rgb = bufferedImage.getRGB(j2, j1);                      if (colorInRange(rgb))                          alpha = 0;                      else                          alpha = 255;                      rgb = (alpha << 24) | (rgb & 0x00ffffff);                      bufferedImage.setRGB(j2, j1, rgb);                  }              }              g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());              // 生成图片为PNG              String outFile = path.substring(0, path.lastIndexOf("."));              ImageIO.write(bufferedImage, "png", new File(outFile + ".png"));          } catch (IOException e) {              // TODO Auto-generated catch block              e.printStackTrace();          }      }         public static boolean colorInRange(int color) {          int red = (color & 0xff0000) >> 16;          int green = (color & 0x00ff00) >> 8;          int blue = (color & 0x0000ff);          if (red >= color_range && green >= color_range && blue >= color_range)              return true;          return false;      }         public static int color_range = 210;      public static Pattern pattern = Pattern.compile("[0-9]*");         public static boolean isNo(String str) {          return pattern.matcher(str).matches();      }         /**      * @param args      */      public static void main(String[] args) {          // TODO Auto-generated method stub          String path = JOptionPane.showInputDialog(null, "请输入图片目录");          if (path == null || !new File(path).isDirectory()) {              JOptionPane.showMessageDialog(null, "输入目录有误!");              return;          }          String color = JOptionPane.showInputDialog(null, "请输入色差范围0~255(建议10~50)");          if (isNo(color)) {              color_range = 255 - Integer.parseInt(color);              File file = new File(path);              String[] files = file.list();              for (int i = 0; i < files.length; i++) {                  String ext = files[i].substring(files[i].lastIndexOf(".") + 1);                  if (ext.equals("jpg")) {                      convert(path + "//" + files[i]);                  }              }              JOptionPane.showMessageDialog(null, "转换完成!");          } else {              JOptionPane.showMessageDialog(null, "输入的数字有误!");          }      }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式