High resolution frames from an animation
              in 
             Core Library Questions 
              •  
              7 months ago    
            
 
           
             Hi. 
            
             
            
            
             
              
             
             
              
             
             
               
             
             
               
             
             
               
             
             
               
             
             
               
             
             
                 
             
             
                
             
             
               
             
             
            
             
            
            
             
             
           
 
            
           
             This is my first attempt at Processing, sorry for the silly questions.
             
            
              I need to save frames at 300 dpi minimum for professional printing. 
             
            
             I tried to use a frame 4 times the size of my monitor, but I really need to see what's happening when I record so it does not work for me.
            
            
             Instead I tried to use the PDF library but I only save 'blank' frame, I don't understand why.
            
            
             Is there a better way of saving at high resolution, if not, can you tell me what's wrong with my code?
            
            
             Thank you for your help!
            
            
              import processing.pdf.*;
             
             
              boolean record;
             
             
              int num = 60;
             
             
              int colorL=255,k = 0,j=100,i=200;
             
             
              float x,y,z;
             
             
              float r,th=0,step=.1,epi=200;
             
             
              float m = 1,n1=-1,n2=0,n3=0;
             
             
              float b=1,a=1;
             
             
              int counter1=0, counter2=0;
             
             
              void setup() 
             
             
              {
             
             
                size(1800,1100);
             
             
                background(0);
             
             
                frameRate(50);
             
             
                smooth();
             
             
              }
             
             
              void draw() {
             
             
               if (record) {
             
             
                  // #### will be replaced with the frame number. 
             
             
                  beginRecord(PDF, "frame-####.pdf");
             
             
                  }
             
             
              {
             
             
                fill(0,5);
             
             
                rect(-5, -5, 1805, 1105);
             
             
                counter1++;
             
             
                if (counter1 == 75) {
             
             
                  m=int(random(3,60));
             
             
                  n1=random(2);
             
             
                  n2=random(2);
             
             
                  n3=random(.1);
             
             
                  epi=random(50,200);
             
             
                  step=random(.01,10);
             
             
                  counter1 = 0;
             
             
                }
             
             
                translate(mouseX, mouseY-100);
             
             
                stroke(colorL,35);
             
             
                noFill();
             
             
                beginShape();
             
             
                for(int i=1; i < num; i++) {
             
             
                  r = epi*pow(((pow(abs(cos(m*th/5)/a),n2))+(pow(abs(sin(m*th/5)/b),n3))),(-1/n1)) * random(10000)/random(1000); 
             
             
                  th = th + step;
             
             
                  x = r*cos(th);
             
             
                  y = r*sin(th);
             
             
                  curveVertex(x,y);
             
             
                }
             
             
                endShape();
             
             
                if (record) {
             
             
                endRecord();
             
             
                record = false;
             
             
                }
             
             
              }
             
             
              }
             
             
               // Use a keypress so thousands of files aren't created
             
             
              void mousePressed() {
             
             
                record = true;
             
             
              } 
             
             
              
              1  
            
 
            