我想要一些文字,但每个角色都有更多颜色。这是一个例子, 请忽略我们的鸡蛋,这些只是我的标志的一部分。第一个图像是用Photoshop创建的,第二个图像是用Word创建的。
但不是显示,而是显示:
这确实有意义,因为它是一种字体而且字体中没有任何颜色,但我想知道是否有办法使文字的颜色和阴影不同,就像TYCOON中出现的'N'一样。这将显示在JLabel中。任何帮助表示赞赏!
答案 0 :(得分:1)
将文本转换为花哨的徽标非常困难......而是使用图像。
将您的文字放入photoshop并将其导出为图像(就像您一样)。然后使用图像代替文本。
答案 1 :(得分:1)
首先,您需要为每个包含您需要的(奇特)颜色的角色创建一个图像(例如,在PhotoShop或您用于为游戏创建图像的任何其他应用程序中)。
接下来,您需要使用这些图像来绘制文本,而不是使用常规字体和JLabel
。所以这需要(稍微)更多的工作......
由于您没有提供有关您使用的Java组件/库的任何详细信息,我只能提供一些伪代码作为示例:
String text = "My colorful text";
int x = START_X; //< x-coordinate of next char
int y = START_y; //< y-coordinate of next char
for (int i = 0; i < text.length(); i++) {
char c = text.charAt(i));
switch(c) {
case ' ': //Space, increase x-coordinate
x += SPACE_WIDTH;
break;
case '\n': // New line, reset x-coordinate and increase y-coordinate
x = START_X;
y += LINE_HEIGHT;
default: // Draw character at x, y and increase x-coordinate
charImage = getImage(c);
drawCharacter(x, y, charImage);
x += charImage.getWidth();
}
}
这个(伪代码)示例假设您有
getImage()
drawCharcter()
getWidth()
此外,您可能需要一些额外的检查/ case
- 语句来处理您可能遇到的其他特殊字符。
但该示例应该可以帮助您设置代码来解决您的问题。