Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- final int WIDTH = 400;
- final int HEIGHT = 200;
- final int PAD_X = 20;
- final int PAD_Y = 10;
- boolean debounce = true;
- String s;
- String avg_int_str(String s) {
- final int mid = floor(s.length() / 3);
- final String[] parts = {s.substring(0, mid), s.substring(mid, mid * 2), s.substring(mid * 2)};
- String result = "";
- char newChar;
- int charCodeSum;
- for (int i = 0; i < mid; i++) {
- charCodeSum = 0;
- for (int j = 0; j < parts.length; j++) {
- charCodeSum += parts[j].charAt(i);
- }
- newChar = (char) floor(charCodeSum / parts.length);
- result += newChar;
- }
- return result;
- }
- void gen_barcode() {
- float r, p;
- for (int i = PAD_X; i < WIDTH - PAD_X; i += r + p) {
- r = random(0, 5);
- p = random(2, 4);
- s += floor(r + p);
- for (int j = 0; j < r; j++) {
- line(i + j, PAD_Y, i + j, HEIGHT - PAD_Y - 20);
- }
- }
- textAlign(CENTER);
- print(avg_int_str(s));
- text(avg_int_str(s), WIDTH / 2, HEIGHT - PAD_Y - 5);
- }
- void setup() {
- size(400, 200); //Processing doesn't allow variables (or consts) as parameters for the size parameter
- stroke(2);
- fill(0,0,0);
- }
- void draw() {
- s = "";
- if (keyPressed == true && debounce) {
- if(key == 's') {
- save("barcode.tga");
- } else {
- background(255,255,255);
- debounce = false;
- gen_barcode();
- }
- } else if(!debounce) {
- debounce = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement