「java渐变透明」实现图像的渐变透明

博主:adminadmin 2023-01-09 08:42:11 621

本篇文章给大家谈谈java渐变透明,以及实现图像的渐变透明对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

javajbutton鼠标移上去高光

javajbutton鼠标移上去高光?1、制作一个按钮图标

我在上一篇经验中写了怎么制作一个按钮,我就直接打开这个文件进行添加高光了,有兴趣的小伙伴可以去打开看一下,主要是圆形叠加不同的渐变颜色

2

/8

绘制一个小的椭圆形

在工具栏中选择椭圆形工具,然后在工作区绘制一个椭圆形,放到按钮中观察大小,填充为一个白色

3

/8

旋转放到按钮上

将这个椭圆形调整到适合的大小,然后将鼠标放在边缘的位置,会变为旋转的状态,我们只需要将它旋转一定的角度,摆放在左上角的位置

4

/8

调出渐变面板调节

在窗口菜单栏中将渐变面板勾选,这样就会打开渐变面板了,设置渐变色为白色,然后选择下面的透明度进行设置,将右侧的透明度设置为0

5

/8

拉出渐变效果

在工具栏中选择渐变工具,然后在椭圆形中拉出透明的渐变,让右侧的变色显示为透明,左侧的位置显示为半透明,这样就形成一个高光效果

6

/8

对椭圆形进行调节

如果感觉自己绘制的椭圆形不太协调,可以用直接选择工具会节点进行调整,渐变透明度可以多试几次,反复拉出不透明度的效果

7

/8

进行颜色的更改

如果我们想要绘制其他的按钮,只需要复制一份,将按钮的颜色设置改一下,就形成了一个新的按钮,比如我复制一份,将颜色变为深紫色到紫色的渐变

8

/8

总结:1、启动AI软件,打开按钮

2、绘制一个椭圆形,调节大小,填充白色

3、打开渐变面板,设置白色,对透明度进行调整

4、用渐变工具拉出透明的效果

5、复制一个改变不同的颜色,制作按钮

注意事项

高光的效果我们使用白色的透明度来实现的

给物体加上高光和阴影更有立体感。

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"));

java 图片如何让白色变透明

代码:

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, "输入的数字有误!");  

        }  

    }  

  

}

求Java中组件透明度的设置方法!

java swing中设置组件透明度的方法如下:

package src;

import java.awt.*;

import javax.swing.ImageIcon;

import javax.swing.JLabel;

import javax.swing.JPanel;

public   class   MyPanel   extends   JPanel{   

private   Image   image   =   null;     

     public   MyPanel(Image image)   {   

               this.image   =   image;   

     }   

     //固定背景图片,允许这个JPanel可以在图片上添加其他组件

     protected   void   paintComponent(Graphics   g)   {   

    g.drawImage(image,   0,   0,   this.getWidth(),   this.getHeight(),   this);   

     }   

}

测试JFrame

package src;

import java.awt.Image;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class Test extends JFrame{

JPanel jpanel;

JLabel jlabel;

JButton jbutton;

Image image=new ImageIcon("image/a.jpg").getImage();

ImageIcon labIma=new ImageIcon("image/a.jpg");

Test(){  

   this.setIconImage(image);

   this.setTitle("hello");

   init();

   this.add(jpanel);

}

public void init(){//本方法里面有三种显示图片的方法,两个实现了在图片上添加按钮的功能

   /*第一种方法 通过JLabel简单的设置图片

   jpanel=new JPanel();

   jlabel=new JLabel();

   jlabel.setIcon(labIma);

   jpanel.add(jlabel);

   */

/*第二种方法 这是实现在JLabel添加图片同时在上面添加按钮功能,注意它里面的jpanel不用显示的添加到JFrame中,因此上面构造函数中的this.add(jpanel)要注释掉

jpanel = (JPanel) this.getContentPane(); //从JFrame 里面创建一个JPanel

   jpanel.setOpaque(false); //JPanel 透明模式

   jlabel = new JLabel(labIma); //创建个带背景图片的JLabel 

   this.getLayeredPane().add(jlabel, new Integer(Integer.MIN_VALUE));

   jlabel.setBounds(0, 0, labIma.getIconWidth(), labIma.getIconHeight());

   jpanel.setLayout(new FlowLayout());

   JButton jb = new JButton("我是按钮");

   jpanel.add(jb);

*/

/*第三种方法 通过重写JPanel中的paintComponent方法设置背景图片,然后在jpanel上添加组件

   //通过背景图片设置图片 注意MyPanel是自己定义的一个类

   jpanel=new MyPanel(image);

   jbutton=new JButton();

   jbutton.setText("haha");

   jpanel.add(jbutton);

*/

}

public static void main(String args[])

{

Test t=new Test();

t.setSize(400,400);

t.setVisible(true);

}

JAVA 怎么让background透明 如图运行的时候我的背景就没了 我该怎么办

亲,我们经常会使用到背景图片,但有时候需要把背景图片设置一个半透明的效果,那么就需要以下的CSS了。这是一个CSS滤镜达到的效果,应用十分广泛。

.modbr{filter:alpha(opacity=80);-moz-opacity:0.8;width:auto !important;width:100%}

注:

代码应用的式CSS中的Alpha滤镜,这个滤镜可以设置目标元素的透明度。还可以通过指定坐标,从而实现各种不同范围的透明度。具体语法如下:

{filter:alpha(opacity=#opacity,finishopacity=#finishopacity,

style=#style,startx=#startx,starty=#starty,finishx=#finishx,finishy=#finishy)}

具体参数含义如下:

“opacity”表示透明度调节,范围在0-100,0表示完全透明,100表示完全不透明。

“finishopacity” 是一个可选参数,如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是0 到 100。

“style” 指定透明区域的形状特征:0 代表统一形状,1 代表线形,2 代表放射状,3 代表矩形

“startx” 渐变透明效果开始处的 X坐标。

“starty” 渐变透明效果开始处的 Y坐标。

“finishx” 渐变透明效果结束处的 X坐标。

“finishy” 渐变透明效果结束处的 Y坐标。

以上的参数可以选用,可以只设置一个opacity

如果设置成下面代码,就表示背景式半透明的:

{filter:alpha(opacity=50)}

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程序,并点击按钮,然后出现调整透明度的窗体,用户就可以设置窗体透明度。

关于java渐变透明和实现图像的渐变透明的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。