| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package data.io;
- import java.awt.Color;
- import java.awt.Graphics2D;
- import java.awt.image.BufferedImage;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.util.Hashtable;
- import javax.imageio.ImageIO;
- import com.google.zxing.BarcodeFormat;
- import com.google.zxing.EncodeHintType;
- import com.google.zxing.WriterException;
- import com.google.zxing.common.BitMatrix;
- import com.google.zxing.qrcode.QRCodeWriter;
- import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
- public class WebcamUploader {
- public static void takePictureAndUpload(int id) throws IOException{
- Runtime.getRuntime().exec("streamer -c /dev/video0 -b 16 -o" + System.getProperty( "user.home" ) + "/ColorStrike/picture.jpeg");
-
- HttpURLConnection httpUrlConnection = (HttpURLConnection)new URL("http://178.62.254.153/colorstrike/images/photoupload.php?filename="+id+".jpeg").openConnection();
- httpUrlConnection.setDoOutput(true);
- httpUrlConnection.setRequestMethod("POST");
- OutputStream os = httpUrlConnection.getOutputStream();
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- FileInputStream fis = new FileInputStream(System.getProperty( "user.home" ) +"/ColorStrike/picture.jpeg");
- byte[] buffer = new byte[2048];
- int bytesRead;
- while ((bytesRead = fis.read(buffer)) != -1)
- {
- os.write(buffer, 0, bytesRead);
- }
- os.close();
- BufferedReader in = new BufferedReader(
- new InputStreamReader(
- httpUrlConnection.getInputStream()));
- String s = null;
- while ((s = in.readLine()) != null) {
- System.out.println(s);
- }
- in.close();
- fis.close();
- }
-
- public static BufferedImage createQRImage(String qrCodeText, int size) throws WriterException, IOException {
- // Create the ByteMatrix for the QR-Code that encodes the given String
- Hashtable hintMap = new Hashtable();
- hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
- QRCodeWriter qrCodeWriter = new QRCodeWriter();
- BitMatrix byteMatrix = qrCodeWriter.encode(qrCodeText,
- BarcodeFormat.QR_CODE, size, size, hintMap);
- // Make the BufferedImage that are to hold the QRCode
- int matrixWidth = byteMatrix.getWidth();
- BufferedImage image = new BufferedImage(matrixWidth, matrixWidth,
- BufferedImage.TYPE_INT_RGB);
- image.createGraphics();
-
- Graphics2D graphics = (Graphics2D) image.getGraphics();
- graphics.setColor(Color.WHITE);
- graphics.fillRect(0, 0, matrixWidth, matrixWidth);
- // Paint and save the image using the ByteMatrix
- graphics.setColor(Color.BLACK);
-
- for (int i = 0; i < matrixWidth; i++) {
- for (int j = 0; j < matrixWidth; j++) {
- if (byteMatrix.get(i, j)) {
- graphics.fillRect(i, j, 1, 1);
- }
- }
- }
- return image;
- }
- }
|