BLUSHIF

client.pde

Nov 20th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. import processing.net.*;
  2. import java.io.*;
  3. import processing.video.*;
  4. import java.awt.image.BufferedImage;
  5. import javax.imageio.*;
  6. Client c;
  7. int imageByteCount = 640/2 * 480/2 * 3;
  8. byte[] imageBuffer = new byte[imageByteCount];
  9. Capture video;
  10. PImage vi;
  11. OutputStream outputStream = null;
  12. void setup() {
  13. size(640, 480);
  14. video = new Capture(this, 640/2, 480/2);
  15. frameRate(5);
  16. c = new Client(this, "192.168.56.1", 12345);
  17. video.start();
  18. }
  19. void draw() {
  20. c.write(broadcast(video));
  21. //video.resize(80, 60);
  22. //image(video, 40, 30);
  23. while (c.available() >= imageByteCount) {
  24. imageBuffer=c.readBytes();
  25. PImage fback=Recieve(imageBuffer, 640/2, 480/2, 3);
  26. image(fback, 0, 0);
  27. }
  28. }
  29. byte[] broadcast(PImage img) {
  30. BufferedImage bimg = new BufferedImage( img.width, img.height,
  31. BufferedImage.TYPE_INT_RGB );
  32. img.loadPixels();
  33. bimg.setRGB( 0, 0, img.width, img.height, img.pixels, 0, img.width);
  34. ByteArrayOutputStream baStream = new ByteArrayOutputStream();
  35. BufferedOutputStream bos = new BufferedOutputStream(baStream);
  36. try {
  37. ImageIO.write(bimg, "jpg", bos);
  38. }
  39. catch (IOException e) {
  40. e.printStackTrace();
  41. }
  42. byte[] packet = baStream.toByteArray();
  43. return packet;
  44. }
  45. PImage Recieve(byte[] data, int w, int h, int ch) {
  46. PImage outImage = new PImage(w, h, RGB);
  47. outImage.loadPixels();
  48. for (int i = 0; i < w*h; i++) {
  49. outImage.pixels[i] = color(data[i*ch], data[i*ch+1], data[i*ch+2]);
  50. }
  51. outImage.updatePixels();
  52. return outImage;
  53. }
Add Comment
Please, Sign In to add comment