众所周知视频是不能P的,所以一旦学会了视频滤镜,你就是最靓的仔!

创建一个滤镜类;

其实具体思路与之前的图片滤镜极为相似,故我直接将代码贴出来。

public BufferedImage grayimage(Graphics g,BufferedImage image){int width=image.getWidth();int height= image.getHeight();for(int i=0;i<width;i++){for(int j=0;j<height;j++){rgb=image.getRGB(i,j);depart(rgb);gray=(int)(0.3*r+0.59*ge+0.11*b);addall(gray,gray,gray);image.setRGB(i,j,rgb);}}return image;
}//灰化滤镜

这其中值得注意的有,setRGB的方法可以帮助我得到我们想要效果的图片。

同时注意返回值,以便后续的使用。

至于像马赛克效果比较特殊,要新创图片再用缓存图片的画笔绘制 ;

 public BufferedImage masiimage(Graphics g,BufferedImage image){int width=image.getWidth();int height=image.getHeight();BufferedImage newImage = new BufferedImage (width, height, BufferedImage.TYPE_INT_RGB);Graphics bf= newImage.getGraphics();for(int i=0;i<width;i+=5) {for (int j = 0; j < height; j += 5) {rgb = image.getRGB(i, j);Color cl = new Color(rgb);bf.setColor(cl);bf.fillRect( i, j, 5, 5);}}return newImage;}//马赛克滤镜

完成这些后,我们用switch,完善一下多线程中的run方法,和修改一下监听器的逻辑;

同时利用JPanel将我们的界面变得更加美观:

public void ui() {JFrame jf=new JFrame();jf.setTitle("VIDEO");jf.setSize(2000,2000);jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//建立窗口this.setBackground(Color.LIGHT_GRAY);JPanel btnpnl=new JPanel();btnpnl.setBackground(Color.white);Dimension dim=new Dimension(300,200);btnpnl.setPreferredSize(dim);btnUI(btnname,btnpnl);jf.add(this,BorderLayout.CENTER);jf.add(btnpnl,BorderLayout.WEST);jf.setLocationRelativeTo(null);jf.setVisible(true);Graphics g=this.getGraphics();ll.setGraphics(g);}

最后成果如下:

当然使用完多线程后,要记得让run方法结束

录制你的动态美——Java的视频滤镜相关推荐

  1. 《 郝斌 java自学视频 完结 》_《[郝斌]Java自学视频[完结]》AVI[压缩包]

    中文名: [郝斌]Java自学视频[完结]资源格式: 压缩包版本: AVI发行时间: 2009年地区: 大陆对白语言: 普通话文字语言: 简体中文简介: 特别说明: 视频原始来源为互联网,原始格式为F ...

  2. ffmpeg 将拆分的数据合成一帧_FFmpeg + OpenGLES 实现视频解码播放和视频滤镜

    FFmpeg 开发系列连载: FFmpeg 开发(01):FFmpeg 编译和集成 FFmpeg 开发(02):FFmpeg + ANativeWindow 实现视频解码播放 FFmpeg 开发(03 ...

  3. JAVA音视频解决方案----视频基础知识

    序言 公司现在在做汽车终端的平台,需要了解交通部808,1078的终端协议.  尤其是1078是关于音视频的协议.故此开始入坑java的音视频解决方案.本系列文章涉及一个完整的音视频服务搭建.大概整理 ...

  4. Java Web视频(2013)

    之前在优酷网上放了一些Java Web视频,原本只是想让自己的学生课后复习使用,结果很多人对这个比较感兴趣. 去年上课的时候又录制了一份,和之前的风格不一样,更偏重操作.这段时间有不少同学问我要,为了 ...

  5. 华清远见java课程视频_Java视频教学最适合初学者的学习方式~华清远见

    Java视频教学最适合初学者的学习方式~华清远见 现如今随着软件行业的快速发展学习软件编程的人员也越来越多,其中不乏跨行业转行应届毕业生等零基础的朋友,为了能够圆这一部分朋友的金领的梦,华清远见数十名 ...

  6. java ee视频下载地址

    2007年JAVA学习视频资料大汇总 孙鑫java视频 刘伟高端j2ee视频 尚学堂java视频 张孝祥java视频 交大java视频 浪曦Java视频 SCJP台湾Java认证视频 2007年JAV ...

  7. Premiere Pro 2.0 添加视频滤镜

    9. 添加视频滤镜 Premiere Pro 2.0的视频特效与Photoshop中的滤镜很类似,而且由于视频的特点,这些效果都是随着时间动态变化的.Premiere Pro 2.0中的视频滤镜效果包 ...

  8. FFmpeg进阶:视频滤镜大全

    在做视频特效的时候,很多特效其实不用自己写,FFmpeg的视频滤镜里面提供了很丰富的滤镜特效.这里翻译了一下FFmpeg官方文档的所有视频滤镜的介绍,供大家参考.由于很多地方概念比较生疏,翻译的可能不 ...

  9. Android 循环录制最近一段时间的视频

    Android 循环录制最近一段时间的视频 在日常开发测试中,往往发生问题了再去想办法复现录屏.抓取日志的工作,往往会出现偶现问题很难复现,导致问题很难定位.在这里给出一个能抓取历史操作视频的解决方案 ...

最新文章

  1. 介绍使用 GNU Screen 的小技巧
  2. VS2017下编译 XP运行程序
  3. 用Itext把数据导出到Pdf文档
  4. [ERR0134] Requested Service is not available【转载】
  5. Tensorflow快餐教程(1) - 30行代码搞定手写识别
  6. mysql安装需要注意什么意思_mysql 安装过程及注意事项
  7. ueditor 后端配置项没有正常加载,上传插件不能正常使用 UTF8 PHP
  8. html全屏banner轮播代码,基于jquery实现全屏banner自动轮播切换
  9. 游戏开发之nullptr和的NULL的区别(C++基础)
  10. java俄罗斯方块程序设计报告_java课程设计实验报告俄罗斯方块
  11. JS读取excel内容
  12. php验证码点击刷新,php实现点击可刷新验证码_PHP
  13. uipath对SAP的抓取
  14. latex 中下括号 underbrace 如何对齐
  15. Es7.x使用RestHighLevelClient进行聚合操作
  16. 川土新品 | CA-IS3105W 全集成隔离 DC-DC 转换器
  17. 《数据库系统概论》:DBA的职责有些
  18. Jabber介绍(补充)
  19. 怎么用计算机弹出行星,宇宙模拟器space engine教程2:创建自定义太阳系,包括创建恒星,行星等(上)...
  20. 数据库——MySQL概述

热门文章

  1. 英语口语练习五十八之帮助help的用法
  2. 实测:Python程序员全职接单,一个月收入能到多少
  3. vue-danmak 弹幕交互组件
  4. 法国海运 法国海运主要港口有哪些
  5. go中文网第二期培训教程
  6. 基于HyperLPR的车牌识别(二)
  7. Citrix Virtual PC
  8. TTL电平,CMOS电平,OC门,OD门基础知识
  9. 统计学及统计学在MATLAB的应用
  10. 【ELM预测】基于遗传算法改进极限学习机ELM实现数据预测matlab源码