欢迎来到天天文库
浏览记录
ID:40559788
大小:29.00 KB
页数:3页
时间:2019-08-04
《JMF 拍照, 怎么样设置保存的图片大小?》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、下边这个程序是没有Jrame框架的,也就是不是swing界面开发的,是程序在没有人察觉的情况下拍照的,每77毫秒拍一张图片,图片命名为:当前时间的Long毫秒,源码就在下边 自己慢慢看吧!publicclassPhotoGraphextendsThread{ privateCaptureDeviceInfocaptureDeviceInfo=null; privateMediaLocatormediaLocator=null; privatestaticPlayerplayer=null; privateBufferbuffer=null; privateBufferToImagebu
2、fferToImage=null; publicImageimg; publicImageimg2; publicPhotoGraph(){ captureDeviceInfo=CaptureDeviceManager .getDevice("vfw:MicrosoftWDMImageCapture(Win32):0");//这里放置的是视频驱动 mediaLocator=newMediaLocator("vfw://0");//这里是视频地址 DataSourceds=newDataSource(); ds.setLocator(mediaLocator); try{
3、 player=Manager.createRealizedPlayer(mediaLocator); player.start(); }catch(NoPlayerExceptione){ e.printStackTrace(); }catch(CannotRealizeExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } } publicvoidrun(){ try{ Thread.sleep(3000); }catch(InterruptedExce
4、ptione){ e.printStackTrace(); } System.out.println("开始拍照............................."); Datedate=newDate(); LongdateTime=date.getTime(); while(true){ FrameGrabbingControlfgc=(FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl"); buffer=fgc.grabFrame(); bu
5、fferToImage=newBufferToImage((VideoFormat)buffer.getFormat()); img2=bufferToImage.createImage(buffer); FrameGrabbingControlfgcs=(FrameGrabbingControl)player.getControl( "javax.media.control.FrameGrabbingControl"); Bufferbuf=fgcs.grabFrame();//获取当前祯并存入Buffer类
6、 BufferToImagebtoi=newBufferToImage((VideoFormat)buf.getFormat()); img2=btoi.createImage(buf);//showtheimage this.setImg(img2); saveImage(img,"G:/photo_test/"+dateTime+".jpg"); try{ Thread.sleep(77); dateTime+=77; }catch(Exceptione1){ e1.printStackTrace(); } } }
7、 /**储存图片 *@paramimage *@parampath */ publicstaticvoidsaveImage(Imageimage,Stringpath){ //下边是图片的大小 BufferedImagebi=newBufferedImage(150,150,BufferedImage.TYPE_INT_RGB); Graphics2Dg2=bi.createGraphics();
此文档下载收益归作者所有