直播平台搭建源码,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相册制作,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现