私は、テキストを回転させるためのオンラインの例から適応された次のコードを持っています。コードはテキストを正しい角度に回転させるという点で問題なく機能しますが、回転したテキストの精度と鮮明さを向上させる方法があるかどうかを知りたいと思います。私のディスプレイでは、回転したテキストが滑らかではなく「階段状」になっているように見えます。
PFont f;
String message = "abcdefghijklmnopqrstuvwxyz";
float theta, x;
void setup() {
size(800, 200);
f = createFont("Arial",20,true);
}
void draw() {
// background(255);
fill(0);
textFont(f); // Set the font
translate(x,height/2); // Translate to the center
rotate(theta); // Rotate by theta
textAlign(LEFT);
text(message,0,0);
theta += 0.1; // Increase rotation
x += textWidth(message);
if (x>800){noLoop(); }
}
違いを表示しやすくするために、例を修正しました。新しいコードでは、テキストをアンダースコアの文字列に変更し、参照線も赤で描画しました。それがあなたのマシンで同じように機能する場合、下線によって作成された黒い線に驚異的なものが見られるはずです。
String message = "________";
float theta, x;
PFont f;
void setup() {
size(800, 200);
f = loadFont("ArialMT-20.vlw");
smooth();
}
void draw() {
fill(0);
textFont(f); // Set the font
translate(x,height/2); // Translate to the center
rotate(theta); // Rotate by theta
text(message,0,0);
stroke(255,0,0);
strokeWeight(2);
line(0,0,textWidth(message),0);
theta += 0.1; // Increase rotation
x += textWidth(message);
if (x>800){noLoop(); }
}
私にとっては次の出力が得られますが、Macで実行するとこれが異なることはわかっています。