dispersing video images cells
in
Core Library Questions
•
1 years ago
Like the title says how can i disperse video image cell when i press the mouse button and when i press it again they come back to their original state? Is this possible?
This is the code i am using from the library.
This is the code i am using from the library.
- import processing.video.*;
- // Size of each cell in the grid
- int cellSize = 15;
- // Number of columns and rows in our system
- int cols, rows;
- // Variable for capture device
- Capture video;
- void setup() {
- size(630, 480, P2D);
- //set up columns and rows
- cols = width / cellSize;
- rows = height / cellSize;
- colorMode(RGB, 255, 255, 255, 100);
- rectMode(CENTER);
- // Uses the default video input, see the reference if this causes an error
- video = new Capture(this, width, height, 15);
- background(0);
- }
- void draw() {
- if (video.available()) {
- video.read();
- video.loadPixels();
- // Begin loop for columns
- if (mousePressed) {
- background(random(255),random(255),random(219));
- for (int i = 0; i < cols;i++) {
- // Begin loop for rows
- for (int j = 0; j < rows;j++) {
- // Where are we, pixel-wise?
- int x = i * cellSize;
- int y = j * cellSize;
- int loc = (video.width - x - 1) + y*video.width; // Reversing x to mirror the image
- // Each rect is colored white with a size determined by brightness
- color c = video.pixels[loc];
- float sz = (brightness(c) / 255.0) * cellSize;
- fill(255);
- noStroke();
- rect(x + cellSize/2, y + cellSize/2, sz, sz);
- }
- }
- }
- }
- }
1