直播平台搭建源码,java相册制作

直播平台搭建源码,java相册制作

 

1
package cn.demo2;<br>import javax.imageio.ImageIO;<br>import javax.swing.*;<br>import java.awt.*;<br>import java.awt.image.BufferedImage;<br>import java.io.IOException;<br>/**<br> * 电子相册<br> */<br>public class MyImage extends JPanel{<br>    //定义一个成员变量<br>    BufferedImage bgImage;<br>    public static void main(String[] args) {<br>        //创建一个窗口<br>        JFrame frame=new JFrame();<br>        //设置一个窗口<br>        frame.setSize(450,750);<br>        //设置标题<br>        frame.setTitle("JAVA电子版相册");<br>        //让窗口居中显示<br>//        frame.setLocation(300,40);<br>        frame.setLocationRelativeTo(null);<br>        //关闭窗口时关闭JVM,否则只是单方面关闭窗口,程序还在运行<br>        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br>        //创建面板对象<br>        MyImage myImage=new MyImage();<br>        //把面板放到窗口上<br>        frame.add(myImage);<br>        //调用初始化对象存放到窗口<br>        myImage.initImags();<br>        //把图片画到窗口上去,调用绘图方法<br>        //重绘<br>//        myImage.repaint();<br>        // TODO 写方法让 ff  一直变   ,   开启新的线程,用来该值<br>        myImage.become();<br>        //显示出这一个窗口<br>        frame.setVisible(true);<br>    }<br>    float ff=0f;<br>    int num=0;  //数组下标索引值<br>    //TODO 写方法让 ff 变量一直变<br>    public void become(){<br>        //启动一个线程<br>        new Thread(new Runnable() {<br>            @Override<br>            public void run() {<br>                //一直去改变ff的值<br>                while (true){<br>                    //从数组中获取照片<br>                    bgImage=images[num];<br>                    num+=1;<br>                    //考虑数组越界<br>                    if(num==4){<br>                        num=0;<br>                    }<br>                    while (true){<br>                        if(ff<100f){<br>                            ff+=2f;<br>                            repaint();<br>                        }<br>                        else{<br>                            ff=0f;<br>                            break;<br>                        }<br>                        //加一个休眠,否则太快了啥也没有,还是白板<br>                        try {<br>                            Thread.sleep(50);<br>                        } catch (InterruptedException e) {<br>                            e.printStackTrace();<br>                        }<br>                    }<br>                }<br>            }<br>        }).start();<br>    }<br>    //需要重写父类的方法    提供一个绘图方法<br>    @Override<br>    public void paint(Graphics g) {<br>        super.paint(g);<br>        /**<br>         * 做图片效果,淡入<br>         */<br>        //转换成子类对象,提供了更多的方法<br>        Graphics2D graphics2D= (Graphics2D) g;   //强转<br>        //画什么东西<br>        if(bgImage!=null){<br>            //加入淡入效果<br>            graphics2D.setComposite(AlphaComposite.SrcOver.derive(ff/100f));<br>            //把这张图片画到窗口上去    G<br>            g.drawImage(bgImage,0,0,bgImage.getWidth(),bgImage.getHeight(),null);<br>        }<br>    }<br>    //TODO.1.   **存照片**   定义图片类型数组   BufferedImage表示图片对象<br>    BufferedImage [] images=new BufferedImage[4];<br>    /**<br>     * 加载准备好的一些图片<br>     */<br>    public void initImags(){<br>        try {<br>        //编写一个for循环<br>        for (int i = 1; i <= 4; i++) {<br>            //每循环一次都要去加载一张图片<br>                BufferedImage image = ImageIO.read(MyImage.class.getResource("/cn/demo2/image/" + i + ".jpg"));<br>                //没读取到一张图片对象,把他存放到我们的数组中<br>                images[i-1]=image;<br>        }<br>            //给成员变量赋值   TODO 换照片<br>            bgImage=images[1];<br>        } catch (IOException e) {<br>            e.printStackTrace();<br>        }<br>    }<br>}

以上就是 直播平台搭建源码,java相册制作,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示