1. 怎样用java绘图填充色为透明色
...
非常简单,最简单的,
new Color(R,G,B,Alpha)
最后的Aplha就是透明度...
2. java如何设置透明窗体
1打开Java开发工具Eclipse软件,依次选择“文件”、“新建”、“项目”,在“新建项目”窗口中选择“Java项目”,然后点击“下一步”按钮。
2在出现的窗体中的“项目名称”后自定义输入项目名,然后点击“完成”按钮完成项目的创建。
3右击创建的项目,在右键列表中依次选择“新建”、“类”,在“新建类”窗体中输入自定义类名,勾选相应复选框,点击“完成”按钮完成类的创建。
4首先,做一些初始化窗体的工作,导入javax.swing.JFrame类,实现JFrame的继承,初始化构造方法头并在main方法内实例化此类以便做测试。
5下面,在构造方法中创建窗体,导入javax.swing.JButton类,在窗体内加入按钮,保持按钮默认的布局方式,最后设置窗体显示,运行程序查看初始效果。
6运行Java程序后,将出现初始化窗体界面,用户需关闭窗体做下一步代码的编写。
7添加按钮BTN的ActionListenr()单击事件,在出现的错误中点击错误处,然后自动导入ActionListener类,但是仍然出现错误,用户需再次点击错误处以添加必要的方法实现。
8当用户解决两次错误后,系统自动导入了所需包和加入了所需单击事件的必要方法。
9新建setOpacity()方法并在按钮的单击事件中调用此方法,然后在此类中作为属性成员加入JSlider滑块控件。
10在新建的setOpacity()方法中添加如下代码,设置dialog窗体的大小、位置、大小不可改变等属性,用户可自定义设置属性。
11创建JLabel,添加slider滑块的滑动事件,并在事件中加入方法slider(),当然此方法需要新建,待会再新建,让我们先把setOpacity()方法中的代码添加完成。
12继续在setOpacity()方法中添加代码,在窗体dialog中加入panel控件,再将lable和slider加入到panel中。
13在方法slider()中添加代码,获取slider的值以改变透明度值,设置鼠标移入滑块时的鼠标指针样式。
14运行Java程序,并点击按钮,然后出现调整透明度的窗体,用户就可以设置窗体透明度。
3. java 绘图的时候过滤掉需要透明的颜色,drawImage不行
写一个色彩滤镜,把紫色过滤掉。未测试伪代码如下
{
publicPurpleFilter(){
canFilterIndexColorModel=true;
}
publicintfilterRGB(intx,inty,intrgb){
return((rgb&0xFFFFFF)==0xff00ff?0:rgb;
}
}
ImageFilterpurple_filter=newPurpleFilter();
Imageimg新=createImage(newFilteredImageSource(img老.getSource(),
purple_filter));
把紫内色过滤容成黑色。
4. java的按钮颜色可以设置为透明的吗
当然可以,Button透明背景设置方法:
方法1:JButton b1=new JButton();
b1.setOpaque(false);
b1.setColor(new Color(2,2,2)); //此颜色值随便设置,只起占位作用,但是回必须加上此句,否则答不会出现透明背景效果。
b1..setIcon(new ImageIcon("bin/filechooser/image/rec.gif"));
方法2:JButton b2=new JButton();
b2.setContentAreaFilled(false); //只须加上此句
b2.setIcon(new ImageIcon("bin/filechooser/image/rec.gif"));
5. 请问java.awt.color能不能设通明度啊
Color 类用于封装默认 sRGB 颜色空间中的颜色,或者用于封装由 ColorSpace 标识的任意颜色专空间中的颜色。属每种颜色都有一个隐式的 alpha 值 1.0,或者有一个在构造方法中提供的显式的 alpha 值。alpha 值定义了颜色的透明度,可用一个在 0.0 - 1.0 或 0 - 255 范围内的浮点值表示它。alpha 值为 1.0 或 255 则意味着颜色完全是不透明的,alpha 值为 0 或 0.0 则意味着颜色是完全透明的。在使用显式的 alpha 值构造 Color 时,或者在获得某个 Color 的颜色/alpha 分量时,从不将颜色分量预乘 alpha 分量。
java.awt
接口 Transparency
Transparency 接口定义用于实现类的通用透明模式
6. java 图片如何让白色变透明
代码:
packagecom.picture;
importjava.awt.Graphics2D;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjava.util.regex.Pattern;
importjavax.imageio.ImageIO;
importjavax.swing.ImageIcon;
importjavax.swing.JOptionPane;
publicclassPicture{
publicstaticvoidconvert(Stringpath){
//TODOAuto-generatedconstructorstub
try{
BufferedImageimage=ImageIO.read(newFile(path));
ImageIconimageIcon=newImageIcon(image);
BufferedImagebufferedImage=newBufferedImage(
imageIcon.getIconWidth(),imageIcon.getIconHeight(),
BufferedImage.TYPE_4BYTE_ABGR);
Graphics2Dg2D=(Graphics2D)bufferedImage.getGraphics();
g2D.drawImage(imageIcon.getImage(),0,0,
imageIcon.getImageObserver());
intalpha=0;
for(intj1=bufferedImage.getMinY();j1<bufferedImage
.getHeight();j1++){
for(intj2=bufferedImage.getMinX();j2<bufferedImage
.getWidth();j2++){
intrgb=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
StringoutFile=path.substring(0,path.lastIndexOf("."));
ImageIO.write(bufferedImage,"png",newFile(outFile+".png"));
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
(intcolor){
intred=(color&0xff0000)>>16;
intgreen=(color&0x00ff00)>>8;
intblue=(color&0x0000ff);
if(red>=color_range&&green>=color_range&&blue>=color_range)
returntrue;
returnfalse;
}
publicstaticintcolor_range=210;
publicstaticPatternpattern=Pattern.compile("[0-9]*");
publicstaticbooleanisNo(Stringstr){
returnpattern.matcher(str).matches();
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Stringpath=JOptionPane.showInputDialog(null,"请输入图片目录");
if(path==null||!newFile(path).isDirectory()){
JOptionPane.showMessageDialog(null,"输入目录有误!");
return;
}
Stringcolor=JOptionPane.showInputDialog(null,"请输入色差范围0~255(建议10~50)");
if(isNo(color)){
color_range=255-Integer.parseInt(color);
Filefile=newFile(path);
String[]files=file.list();
for(inti=0;i<files.length;i++){
Stringext=files[i].substring(files[i].lastIndexOf(".")+1);
if(ext.equals("jpg")){
convert(path+"//"+files[i]);
}
}
JOptionPane.showMessageDialog(null,"转换完成!");
}else{
JOptionPane.showMessageDialog(null,"输入的数字有误!");
}
}
}
7. java swing 的jPanel背景颜色能否设置为透明,代码怎么写
JPanel panel1,panel2;
panel1=new JPanel();
panel2=new JPanel();
panel1.setBackground(Color.green);
panel2.setOpaque(false);//就是这里!!把panel2的背景色设为透明的了
panel1.add(panel2);
可以了吧
8. Java中想要设置面板背景图片为透明(使用PNG图片),代码问题
在JDK6 Update 10以后版本,就有.sun.awt.AWTUtilities这个包了,可惜没有API,
给个设置透明度的代码吧
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import com.sun.awt.AWTUtilities;
class Test extends JComponent {
public void paintComponent(Graphics g) {
g.drawLine(20, 105, 690, 105);
g.drawLine(611, 40, 611, 550);
}
Test() {
JButton bt1 = new JButton();
bt1.setBounds(481, 45, 60, 25);
add(bt1);
}
public static void main(String[] args) {
Test t = new Test();
JFrame f = new JFrame("gg");
f.setSize(700, 600);
f.add(t);
AWTUtilities.setWindowOpacity(f, 0.8F); //就是这句
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}