<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    備注學院

    LuLu

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      5 隨筆 :: 50 文章 :: 16 評論 :: 0 Trackbacks

    首先到SUN下載最新的JMF,然后安裝。http://java.sun.com/products/java-media/jmf/index.jsp

    然后,說一下需求

    1. 用攝像頭拍照

    2. 在文本框輸入文件名

    3. 按下拍照按鈕,獲取攝像頭內的圖像

    4. 在拍下的照片上有一紅框截取固定大小的照片。

    5. 保存為本地圖像為jpg格式,不得壓縮畫質

    技術關鍵,相信也是大家最感興趣的部分也就是如何讓一個攝像頭工作,并拍下一張照片了。

    利用JMF,代碼很簡單:

    //利用這三個類分別獲取攝像頭驅動,和獲取攝像頭內的圖像流,獲取到的圖像流是一個Swing的Component組件類

     

     1public static Player player = null;
     2              private CaptureDeviceInfo di = null;
     3              private MediaLocator ml = null;
     4              String str1 = "vfw:Logitech USB Video Camera:0";
     5              String str2 = "vfw:Microsoft WDM Image Capture (Win32):0";
     6              di = CaptureDeviceManager.getDevice(str2);
     7              ml = di.getLocator();
     8              try
     9              {
    10              player = Manager.createRealizedPlayer(ml);
    11              player.start();
    12              Component comp;
    13              if ((comp = player.getVisualComponent()) != null)
    14              {
    15              add(comp, BorderLayout.NORTH);
    16              }

    17              }

    18              catch (Exception e)
    19              {
    20              e.printStackTrace();
    21              }


    接下來就是點擊拍照,獲取攝像頭內的當前圖像。

    代碼也是很簡單:

     1private JButton capture;
     2              private Buffer buf = null;
     3              private BufferToImage btoi = null;
     4              private ImagePanel imgpanel = null;
     5              private Image img = null;
     6              private ImagePanel imgpanel = null;
     7              JComponent c = (JComponent) e.getSource();
     8              if (c == capture)//如果按下的是拍照按鈕 http://www.5a520.cn
     9              {
    10              FrameGrabbingControl fgc =(FrameGrabbingControl)player.getControl
    11            ("javax.media.control.FrameGrabbingControl");
    12              buf = fgc.grabFrame(); // 獲取當前禎并存入Buffer類 http://www.bt285.cn
    13              btoi = new BufferToImage((VideoFormat) buf.getFormat());
    14              img = btoi.createImage(buf); // show the image
    15              imgpanel.setImage(img);
    16              }

    保存圖像的就不多說了,以下為示例代碼

     1BufferedImage bi = (BufferedImage) createImage(imgWidth, imgHeight);
     2              Graphics2D g2 = bi.createGraphics();
     3              g2.drawImage(img, nullnull);
     4              FileOutputStream out = null;
     5              try
     6              {
     7              out = new FileOutputStream(s);
     8              }

     9              catch (java.io.FileNotFoundException io)
    10              {
    11              System.out.println("File Not Found");
    12              }

    13              JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    14              JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
    15              param.setQuality(1f, false);//不壓縮圖像 http://www.bt285.cn
    16              encoder.setJPEGEncodeParam(param);
    17              try
    18              {
    19              encoder.encode(bi);
    20              out.close();
    21              }

    22              catch (java.io.IOException io)
    23              {
    24              System.out.println("IOException");
    25              }

    From:http://m.tkk7.com/fundei/archive/2009/05/21/271147.html
    posted on 2009-05-27 09:40 smildlzj 閱讀(152) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 免费吃奶摸下激烈视频| 国产无遮挡吃胸膜奶免费看视频| 韩国免费a级作爱片无码| A国产一区二区免费入口| 中文字幕在线免费看| 精品亚洲永久免费精品| 久久久精品2019免费观看| 99精品在线免费观看| 精品久久久久成人码免费动漫| www.黄色免费网站| 在线免费观看国产视频| 中文字幕亚洲第一| 亚洲剧情在线观看| 午夜亚洲国产理论片二级港台二级 | 久久久综合亚洲色一区二区三区| 亚洲成AV人片一区二区密柚| 亚洲a一级免费视频| 亚洲国产精品美女久久久久| a级大片免费观看| 国产一区二区视频免费| 噜噜噜亚洲色成人网站∨| 亚洲熟妇AV一区二区三区宅男| 国产黄色免费观看| 久久电影网午夜鲁丝片免费| 国产亚洲欧洲Aⅴ综合一区| 亚洲午夜在线播放| 8x8x华人永久免费视频| 免费一级国产生活片| 91久久亚洲国产成人精品性色 | 国产又黄又爽又大的免费视频 | 亚洲中文字幕乱码AV波多JI| 大地影院MV在线观看视频免费| 精品剧情v国产在免费线观看| 亚洲国产成人久久综合一区| 国产无限免费观看黄网站| 日韩免费视频一区| 亚洲国产无线乱码在线观看 | 亚洲中文字幕AV每天更新| 日本高清免费网站| 亚洲国产人成在线观看69网站 | 亚洲人成色777777在线观看|