fatik – Asemic
The fact that this project was an exploration of type was super exciting. I immediately thought of different ways that I could dissect type and study the different forms of a variety of typefaces. I couldn’t really do this for Friday, but this is something I would like to do in the near future. Because we had to plot our typography, I thought that it’d be better to bust something out instead of staying up too late so that I know the overall process of using the plotter and learning to export a vector straight from processing.
I misunderstood the point of the project was to learn to export vectors from processing. I think that I just got really excited about the concept of creating asemic type and creating the layout with my characters. I was definitely thinking more of what the final piece was going to be rather than the specific process of getting there.
These are some layouts I made from letters that were generated. I didn’t code the layout which was not part of the assignment. I need to code this later on. I’m using these layouts as plans for me to improve my code.
PGraphics offscreenGraphics; PFont bigFont; import processing.pdf.*; boolean bRecordingPDF; int pdfOutputCount = 0; void setup(){ size(1500,1125); offscreenGraphics = createGraphics(width, height); bigFont = createFont("Arial Black", 300); renderGradientIntoOffscreenGraphics(); frameRate(1); bRecordingPDF = true; } void keyPressed() { // When you press a key, it will initiate a PDF export bRecordingPDF = true; } void draw(){ if (bRecordingPDF) { background(255); // this should come BEFORE beginRecord() beginRecord(PDF, "myName_" + pdfOutputCount + ".pdf"); //image(offscreenGraphics, 0,0); int nPoints = 4000; stroke(0); strokeWeight(5); //fill(0); for (int i=0; i<nPoints; i++){ int randomX = (int) random(width); int randomY = (int) random(height); color colorAtTestLocation = offscreenGraphics.get(randomX, randomY); float brightnessAtTestLoc = brightness(colorAtTestLocation); //0...255 float probability01 = map(brightnessAtTestLoc, 0,255, 0,1); float aRandom01 = random(0,1); if (aRandom01 < probability01){ //point(randomX, randomY); //rect(randomX,randomY, 50,50); //ellipse(randomX, randomY,30,30); //line(300, randomY, randomX, randomY ); //line(randomX, randomY, randomX, 200); //line(random(200,800), randomY, randomX, randomY); line(randomX, random(300,600), randomX, randomY); } } endRecord(); bRecordingPDF = false; pdfOutputCount++; } } void renderGradientIntoOffscreenGraphics(){ offscreenGraphics.beginDraw(); offscreenGraphics.background(0); ////gradient off screen graphics //for (int i=0; i<offscreenGraphics.width; i++){ // float gray = map(i, 0,offscreenGraphics.width, 0,100); // offscreenGraphics.stroke(gray); // offscreenGraphics.line(i,0, i,offscreenGraphics.height); //} offscreenGraphics.fill(255); offscreenGraphics.textFont(bigFont); //offscreenGraphics.text("Fk", 100,300); String[] arrayLetter = {"F", "A", "I", "T", "H", "K"}; for (int i=0; i < arrayLetter.length; i++){ offscreenGraphics.text(arrayLetter[0], 100 ,height/2); offscreenGraphics.text(arrayLetter[1], 350 ,height/2); offscreenGraphics.text(arrayLetter[2], 630 ,height/2); offscreenGraphics.text(arrayLetter[3], 800 ,height/2); offscreenGraphics.text(arrayLetter[4], 1050 ,height/2); } offscreenGraphics.endDraw(); } |