PFont.list()怎么用
时间: 2024-10-25 14:14:00 浏览: 11
`PFont.list()` 是 Processing 中的一个内置函数,用于获取当前Processing环境支持的字体列表。你可以通过它来查看有哪些字体可供选择,特别是在你试图使用某个特定字体却报错的情况下,这可以帮助诊断问题。
以下是使用 `PFont.list()` 的基本步骤:
1. 首先,在你的Processing程序中导入 `processing.core.PFont` 类。如果你还没有导入,可以在开始的地方加上 `import processing.core.*;`。
2. 然后,在需要获取字体列表的地方调用 `PFont.list()` 函数。例如:
```java
PFont[] fonts = PFont.list();
for (PFont font : fonts) {
println(font.getName()); // 打印每个字体的名字
}
```
这个循环会遍历所有可用的字体,并打印它们的名字。你可以根据返回的名称来选择或确认你的字体是否在其中。
记住,处理字体时,你需要确保所选字体已经包含在你的项目中或者可以从网络访问。
相关问题
/** * @brief Displays characters in currently active layer. * @param Xpos X position (in pixel) * @param Ypos Y position (in pixel) * @param Text Pointer to string to display on LCD * @param Mode Display mode * This parameter can be one of the following values: * @arg CENTER_MODE * @arg RIGHT_MODE * @arg LEFT_MODE */ void UTIL_LCD_DisplayStringAt(uint32_t Xpos, uint32_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode) { uint32_t refcolumn = 1, i = 0; uint32_t size = 0, xsize = 0; uint8_t *ptr = Text; /* Get the text size */ while (*ptr++) size ++ ; /* Characters number per line */ xsize = (DrawProp->LcdXsize/DrawProp[DrawProp->LcdLayer].pFont->Width); switch (Mode) { case CENTER_MODE: { refcolumn = Xpos + ((xsize - size)* DrawProp[DrawProp->LcdLayer].pFont->Width) / 2; break; } case LEFT_MODE: { refcolumn = Xpos; break; } case RIGHT_MODE: { refcolumn = - Xpos + ((xsize - size)*DrawProp[DrawProp->LcdLayer].pFont->Width); break; } default: { refcolumn = Xpos; break; } } /* Check that the Start column is located in the screen */ if ((refcolumn < 1) || (refcolumn >= 0x8000)) { refcolumn = 1; } /* Send the string character by character on LCD */ while ((*Text != 0) & (((DrawProp->LcdXsize - (i*DrawProp[DrawProp->LcdLayer].pFont->Width)) & 0xFFFF) >= DrawProp[DrawProp->LcdLayer].pFont->Width)) { /* Display one character on LCD */ UTIL_LCD_DisplayChar(refcolumn, Ypos, *Text); /* Decrement the column position by 16 */ refcolumn += DrawProp[DrawProp->LcdLayer].pFont->Width; /* Point on the next character */ Text++; i++; } }
这段代码是用于在 LCD 上显示字符串的函数,可以根据指定的位置和显示模式将字符串显示在屏幕上。其中,Xpos 和 Ypos 是字符串的起始位置坐标,Text 是指向要显示的字符串的指针,Mode 是显示模式,可以是 CENTER_MODE(居中显示)、LEFT_MODE(左对齐显示)或 RIGHT_MODE(右对齐显示)。该函数会根据字符串的长度和指定的显示模式计算出每个字符的位置,并逐个将字符显示在屏幕上。
package XXLChess; //import org.reflections.Reflections; //import org.reflections.scanners.Scanners; import processing.core.PApplet; import processing.core.PImage; import processing.data.JSONObject; import processing.data.JSONArray; import processing.core.PFont; import processing.event.MouseEvent; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.awt.Font; import java.io.*; import java.util.*; public class App extends PApplet { public static final int SPRITESIZE = 480; public static final int CELLSIZE = 48; public static final int SIDEBAR = 120; public static final int BOARD_WIDTH = 14; public static int WIDTH = CELLSIZE*BOARD_WIDTH+SIDEBAR; public static int HEIGHT = BOARD_WIDTH*CELLSIZE; public static final int FPS = 60; public String configPath; public App() { this.configPath = "config.json"; } /** * Initialise the setting of the window size. */ public void settings() { size(WIDTH, HEIGHT); } /** * Load all resources such as images. Initialise the elements such as the player, enemies and map elements. */ public void setup() { frameRate(FPS); // Load images during setup // PImage spr = loadImage("src/main/resources/XXLChess/"+...); // load config JSONObject conf = loadJSONObject(new File(this.configPath)); } /** * Receive key pressed signal from the keyboard. */ public void keyPressed(){ } /** * Receive key released signal from the keyboard. */ public void keyReleased(){ } @Override public void mouseClicked(MouseEvent e) { } @Override public void mouseDragged(MouseEvent e) { } /** * Draw all elements in the game by current frame. */ public void draw() { } // Add any additional methods or attributes you want. Please put classes in different files. public static void main(String[] args) { PApplet.main("XXLChess.App"); } }
这是一个 Java 程序,使用 Processing 库进行可视化。它创建了一个名为 App 的类,该类具有以下属性:
- SPRITESIZE:棋子的尺寸
- CELLSIZE:棋盘格子的尺寸
- SIDEBAR:侧边栏的宽度
- BOARD_WIDTH:棋盘的宽度
- WIDTH:窗口的宽度
- HEIGHT:窗口的高度
- FPS:帧率
它还包含以下方法:
- settings():初始化窗口大小
- setup():加载资源和配置文件等
- keyPressed():接收键盘按下信号
- keyReleased():接收键盘释放信号
- mouseClicked():接收鼠标点击信号
- mouseDragged():接收鼠标拖动信号
- draw():绘制游戏元素
最后,它包含一个 main 方法,用于启动整个程序。
阅读全文