[Processing]文字列の描画(PFont型、loadFont・textFont・text・textAlign命令)

Written by uechoco 2 月 06

 [Processing]フォントデータの作成(vlw)で作成したフォントデータ(vlwファイル)を使って、文字列の描画ができます。

 フォントデータは、PFontオブジェクトを通して扱います。画像のときのPImageオブジェクトみたいなものですね。フォントデータからPFontオブジェクトを作成するにはloadFont()命令を使います。これも画像のときのloadImage()に似ています。

 textFont()命令は、使用するフォントとそのサイズを指定します。

 textAlign()命令は、文字の揃え方を指定します。デフォルトはLEFTで、他にCENTERやRIGHTがあります。

 最後に、text()命令で文字列を描画します。

1-1.PFont font;
PFontオブジェクトの宣言

1-2.loadFont("フォントデータ名");
フォントデータをPFontオブジェクトに読み込む

1-3-1.textFont(PFontObject);
使用するフォントを指定。

1-3-2.textFont(PFontObject, fontSize);
使用するフォントとそのサイズを指定。

1-4.textAlign(mode)
文字列の揃え方を指定。デフォルトはLEFTで、他にCENTERやRIGHTもあり。

1-5-1.text("描画する文字列", x, y);
指定の場所に文字列を描画。

1-5-2.text("描画する文字列", x, y, boxWidth, boxHeight);
指定の領域内に文字列を描画。

Processing:
  1. size(200, 200);
  2. colorMode(HSB, 100);
  3. background(90, 10, 100);
  4.  
  5. // 予めフォントを作成しておく
  6. // PFontオブジェクトの作成
  7. PFont font = loadFont("IPAUIGothic-24.vlw");
  8.  
  9. // 使用するフォントとそのサイズを指定
  10. textFont(font, 24);
  11.  
  12. // 行揃えを中央揃えに
  13. textAlign(CENTER);
  14.  
  15. // 初期化
  16. String hira = "あかさたなはまやらわ";
  17. int len = hira.length();
  18. int angle = 360 / len;
  19. int radius = 50;
  20.  
  21. // 描画の前準備
  22.  
  23. // 文字列を円状に配置
  24. for (int i = 0; i <len; i++) {
  25.   pushMatrix(); // 保存
  26.  
  27.   // 基点の回転
  28.   rotate(radians(i * angle));
  29.   translate(radius, 0);
  30.   rotate(radians(90));
  31.  
  32.   // 文字の描画
  33.   fill(i * angle * 100 / 360, 100, 100);
  34.   text(hira.charAt(i), 0, 0);
  35.  
  36.   popMatrix(); // 復元
  37. }

processing_TextSample2.jpg

 フォントの準備は他と比べて少し面倒ですが、それさえ済んでしまえばカラフルな文字が簡単に描けます。

No Responses to “[Processing]文字列の描画(PFont型、loadFont・textFont・text・textAlign命令)”

コメントはまだありません。

Comments RSS rss うえちょこ@ぼろぐ TrackBack Identifier URI rss うえちょこ@ぼろぐ

コメントをどうぞ