Warning: session_start(): open(/var/lib/php/sessions/sess_kmks8s1me3ndpsp7do06puokjm, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass RenderText {
settable Color foregroundColor = Color.black;
settable Color backgroundColor = Color.white;
settable bool withLeading = true;
settable Font font = sansSerifFont(20);
settable float fontSize = 20;
settable S text = "DEMO";
Font scaledFont;
FontMetrics fm;
*() {}
*(Font *font) {}
selfType setFont(S fontSnippetID) {
ret setFont(loadFont_cached(fontSnippetID));
}
Font scaledFont() { ret scaledFont = font.deriveFont(fontSize); }
BufferedImage get(S text) {
text(text);
ret this!;
}
BufferedImage get() {
fm = fontMetrics(scaledFont());
int width = fm.stringWidth(text);
if (width <= 0) null;
int height = fm.getHeight();
int y = withLeading
? fm.getLeading() + fm.getMaxAscent()
: fm.getAscent();
BufferedImage img = bufferedImageWithoutAlpha(width, height, backgroundColor);
Graphics g = imageGraphics(img);
g.setColor(foregroundColor);
g.setFont(scaledFont);
g.drawString(text, 0, y);
g.dispose();
ret img;
}
}