使用WebCam實現java拍照功能
阿新 • • 發佈:2019-09-07
需要的jar包:
jar包連結:
連結:https://pan.baidu.com/s/1ms_bBDNU8dXQxZ4VR6K4zQ
提取碼:cnp2
java程式碼:
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import com.github.sarxos.webcam.Webcam; import com.github.sarxos.webcam.WebcamPanel; import com.github.sarxos.webcam.WebcamResolution; import com.github.sarxos.webcam.WebcamUtils; import com.github.sarxos.webcam.util.ImageUtils; public class testWebCam { public static void main(String[] args) throws InterruptedException { Webcam webcam = Webcam.getDefault(); webcam.setViewSize(WebcamResolution.VGA.getSize()); WebcamPanel panel = new WebcamPanel(webcam); panel.setFPSDisplayed(true); panel.setDisplayDebugInfo(true); panel.setImageSizeDisplayed(true); panel.setMirrored(true); JFrame window = new JFrame("Test webcam panel"); window.add(panel); window.setResizable(true); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.pack(); window.setVisible(true); final JButton button = new JButton("拍照"); window.add(panel, BorderLayout.CENTER); window.add(button, BorderLayout.SOUTH); window.setResizable(true); window.pack(); window.setVisible(true); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { button.setEnabled(false); // 設定按鈕不可點選 // 實現拍照儲存-------start String fileName = "D://" + System.currentTimeMillis(); // 儲存路徑即圖片名稱(不用加字尾) WebcamUtils.capture(webcam, fileName, ImageUtils.FORMAT_PNG); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JOptionPane.showMessageDialog(null, "拍照成功"); button.setEnabled(true); // 設定按鈕可點選 return; } }); // 實現拍照儲存-------end } }); } }
<