当字体大小不同时,我很难理解如何在处理中计算单词的大小。

我要做的就是在“ Metric”一词后加上后缀。

有谁知道如何做到这一点?

//码

PFont f;
PFont f2;
void setup(){
  size(600, 300);

  f = createFont("SegoeUI-Semibold-200", 100);
  f2 = createFont("SegoeUI-Semibold-200", 20);

}

String metric = "Metric";

void draw(){

float sw = textWidth(metric); //how can I use sw?
fill(240);
textFont(f);
text(metric, 0, height-20);

fill(0);
textFont(f2);
text("sufix",300, height-20); //How can I calculate x to be at then of word Metric

}

最佳答案

textWidth()将考虑对font()或fontSize()的最后一次调用来计算宽度,因此最好在正确调用fontSize,font(font,size)或font()之后再使用它。在您的情况下,它正在考虑最后声明的字体,即小字体。此外,我在draw中调用了background(),因此单词不会不断被覆盖在其自身上,这可以防止它看起来很糟糕。

PFont f;
PFont f2;
void setup(){
  size(600, 300);

  f = createFont("SegoeUI-Semibold-200", 100);
  f2 = createFont("SegoeUI-Semibold-200", 20);

}

String metric = "anystuff";

void draw(){
  background(110);


fill(240);
textFont(f);
text(metric, 0, height-20);
float sw = textWidth(metric); //after font is set...

fill(0);
textFont(f2);
text("sufix",sw, height-20); //just use it :)

}

10-07 19:58