Ngôn ngữ Processing – Coder làm họa sĩ

trong danh mục Graphic Design, software

“Coding là một nghệ thuật và Coder là một người nghệ sĩ”

Câu này nghe chơi vui và thường tay Coder nào cũng nói thế, nhưng quả thật nếu bạn Coding đúng cái, đảm bảo bạn cũng có thể làm ra những tác phẩm có thể được xếp vào hàng “nghệ sĩ”. Cũng như các họa sĩ, tay nghề code càng cao thì tác phẩm tạo ra sẽ càng hấp dẫn.
Vài tác phẩm trong phút ngẫu hứng, post lên để các bạn chiêm ngưỡng!

————————-
Đây mới là phần hấp dẫn cho ai quan tâm – những Coder nhàn rỗi như mình.
Mới nhìn cứ tưởng chơi Photoshop hay phần mềm xử lý ảnh gì, nhưng thật ra code tí xíu là nó ra thôi à, tất nhiên không phải code bằng PHP đâu, hihi.

Quả thật, mới chỉ tiếp xúc với em nó khoảng 5 tiếng đồng hồ nhưng hầu như vẻ đẹp của em nó đã làm mình xao xuyến. Nếu mình không yêu em PHP sâu đậm suốt mấy năm như hiện giờ thì có lẽ mình đã xiêu lòng trước người con gái đầy quyến rũ này, người con gái đó tên là Processing.

Em không “hoành tráng” khi so sánh với những cô gái khác như PHP, Java, C, C#…nhưng em được cái còn rất teen, bởi vì em sinh vào mùa xuân năm 2001, khi mà những cô gái kia đang chuẩn bị bước vào thời xuân sắc. Nhưng mình biết, em sẽ có một tương lai xa, xa lắm, khi mà ranh giới giữa coding và graphic mờ dần, khi đó, vẻ đẹp của em sẽ không phải nhận những cái nhìn thờ ơ của thế giới này.

Nếu bạn đang là coder, hãy thử một lần nhìn qua em – Ngôn ngữ Processing, một ngôn ngữ lập trình dành cho làm ý tưởng graphic, thổi hồn vào data và được thế giới Visualization data ngày càng ưa chuộng, và mình mới tiếp xúc đã bị hút hồn rồi.

Không như hầu hết các ngôn ngữ lập trình khác, Ngôn ngữ Processing code khá dễ, đặc biệt là code về Graphical (color, stroke, shape, vector, 2D, 3D…) và các tương tác, phân tích và hiển thị dữ liệu sao cho đẹp mắt. API của Processing không lớn, nếu dành 1, 2 ngày ngâm cứu thì mình nghĩ chắc dư xăng. Công việc còn lại chỉ là vận dụng khả năng Code và Design để đưa ra những “tác phẩm” thú vị.

Nếu bạn đam mê lập trình mà lại còn đam mê đồ họa như mình, đảm bảo khi code Processing sẽ bị thu hút liền. Mới đọc xong cuốn sách nên tập code nên tác phẩm chỉ là chơi cho vui, hy vọng có thời gian để “sáng tác” nhiều hơn. Enjoy coding!
————-
Dưới đây là đoạn Code cho các hình bên trên, và nguyên tắc thì 3 hình phải có 3 code, nhưng do chỉnh vài giá trị nên nó ra khác như thế, code chỉ mang tính chất tham khảo, bạn thử chạy sẽ biết thôi. Tất nhiên phải tìm hiểu Processing trước khi Run, vì tay ngang thì sure là không chạy được đâu.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
int colorR;
int colorG;
int colorB;
int colorA;
PFont font;
 
void setup()
{
  size(600, 400);
 
  background(0);
  font = loadFont("myriad48.vlw");
  textFont(font);
  smooth();
}
 
void draw()
{
  if(frameCount < 70)
  {
    int posX = int(random(width));
    int posY = int(random(height));
    strokeWeight(int(random(30)));
    strokeCap(SQUARE);
    colorR = int(random(0,50));
    colorG = int(random(100, 200));
    colorB = int(random(0,50));
    colorA = int(random(60));
 
 
    stroke(colorR, colorG, colorB, colorA);
    line(posX, posY, 0, int(random(250, 550)));
  }
  else
  {
    drawMyText("bloghoctap.com", 5);
    saveFrame("processing-bloghoctap.png");
    noLoop();
  }
 
 
}
 
void drawMyText(String myText, int numShadow)
{
    textSize(48);
    textAlign(CENTER);
 
    int textPosX = 400;
    int textPosY = 150;
 
    //draw shadow
    for(int i = 0; i < numShadow; i++)
    {
      int offsetX = int(random(-35, 35));
      int offsetY = int(random(-35, 35));
 
      fill(255, 255, 255, int(random(15)));
      text(myText, textPosX + offsetX, textPosY + offsetY);
    }  
 
    //draw text
    fill(255, 255, 255, 180);
    text(myText, textPosX, textPosY); 
}

6 bình luận

  1. ichuot says:

    Mới đầ tưởng cái font myriad48.vlw từ trên trời rơi xuống vì hỏi google nó k biết. Ai dè nó nằm trong Tool>Create font…

    hay nhỉ!? Thank U

    [Reply]

  2. Hau Nguyen says:

    bác cho hỏi sau khi chạy nó báo lỗi ở hàng :
    font = loadFont(“myriad48.vlw”);
    là sao , em chưa hiểu cái này, bác chỉ giáo cho, em mới học môn này của ngành điện tử nên chưa biết nhiều. Bác hồi âm sớm giùm em nhé

    [Reply]

    admin Reply:

    Chưa hiểu thì tìm cách học để hiểu nhé :).

    [Reply]

  3. Hau Nguyen says:

    em biết nhưng mà cái font “myriad48.vlw” ko biết lấy đâu ra, thay font khác thì ko đc, đã tạo đường dẫn cho font rồi

    [Reply]

    Xavier Reply:

    @Hau Nguyen,
    Bạn iChuot có đề cập rồi, bạn [Hau Nguyen] vào Tool>Create font… nha

    [Reply]

Gởi bình luận