本文整理了Java中java.awt.Graphics2D.drawString()
方法的一些代码示例,展示了Graphics2D.drawString()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Graphics2D.drawString()
方法的具体详情如下:
包路径:java.awt.Graphics2D
类名称:Graphics2D
方法名:drawString
[英]Draws the text given by the specified string, using this graphics context's current font and color. The baseline of the leftmost character is at position (x, y) in this graphics context's coordinate system.
[中]使用此图形上下文的当前字体和颜色绘制指定字符串给定的文本。最左侧字符的基线位于该图形上下文坐标系中的位置(x,y)
代码示例来源:origin: linlinjava/litemall
private void drawTextInImg(BufferedImage baseImage, String textToWrite, int x, int y) {
Graphics2D g2D = (Graphics2D) baseImage.getGraphics();
g2D.setColor(new Color(167, 136, 69));
//TODO 注意,这里的字体必须安装在服务器上
g2D.setFont(new Font("Microsoft YaHei", Font.PLAIN, 28));
g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2D.drawString(textToWrite, x, y);
g2D.dispose();
}
代码示例来源:origin: pentaho/pentaho-kettle
public void drawText( String text, int x, int y ) {
int height = gc.getFontMetrics().getHeight();
String[] lines = text.split( "\n" );
for ( String line : lines ) {
gc.drawString( line, x + xOffset, y + height + yOffset );
y += height;
}
}
代码示例来源:origin: runelite/runelite
public static void renderTextLocation(Graphics2D graphics, Point txtLoc, String text, Color color)
{
if (Strings.isNullOrEmpty(text))
{
return;
}
int x = txtLoc.getX();
int y = txtLoc.getY();
graphics.setColor(Color.BLACK);
graphics.drawString(text, x + 1, y + 1);
graphics.setColor(color);
graphics.drawString(text, x, y);
}
代码示例来源:origin: plantuml/plantuml
public BufferedImage createBufferedImage() {
final BufferedImage im = new BufferedImage(widthCell * 15, heightCell * 15, BufferedImage.TYPE_INT_RGB);
final Graphics2D g2d = im.createGraphics();
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, im.getWidth(), im.getHeight());
g2d.setColor(Color.BLACK);
for (ANode n : board.getNodes()) {
final int x = board.getCol(n) * widthCell;
final int y = n.getRow() * heightCell;
g2d.drawString(n.getCode(), x + 5, y + heightCell / 2 - 5);
g2d.drawOval(x, y, widthCell / 2, heightCell / 2);
}
for (ALink link : board.getLinks()) {
final ANode n1 = link.getNode1();
final ANode n2 = link.getNode2();
final int x1 = 10 + board.getCol(n1) * widthCell;
final int y1 = 10 + n1.getRow() * heightCell;
final int x2 = 10 + board.getCol(n2) * widthCell;
final int y2 = 10 + n2.getRow() * heightCell;
g2d.drawLine(x1, y1, x2, y2);
}
return im;
}
代码示例来源:origin: jphp-group/jphp
@Signature
public void text(float x, float y, String text, DrawOptions options) {
if (options.getFill() != null) {
gc.setColor(options.getFill());
gc.setPaint(options.getFill());
}
if (options.getFont() != null) {
gc.setFont(options.getFont());
}
gc.drawString(text, x, y);
}
代码示例来源:origin: Dreampie/Resty
public void draw(String text, BufferedImage canvas, FontFactory fontFactory, ColorFactory colorFactory) {
Graphics2D g = (Graphics2D) canvas.getGraphics();
TextString ts = convertToCharacters(text, g, fontFactory, colorFactory);
arrangeCharacters(canvas.getWidth(), canvas.getHeight(), ts);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
for (TextCharacter tc : ts.getCharacters()) {
g.setColor(tc.getColor());
g.drawString(tc.iterator(), (float) tc.getX(), (float) tc.getY());
}
}
代码示例来源:origin: stackoverflow.com
g2d.setFont(font);
FontMetrics fm = g2d.getFontMetrics();
int width = fm.stringWidth(text);
int height = fm.getHeight();
g2d.dispose();
g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
fm = g2d.getFontMetrics();
g2d.setColor(Color.BLACK);
g2d.drawString(text, 0, fm.getAscent());
g2d.dispose();
try {
代码示例来源:origin: stanfordnlp/CoreNLP
double nodeWidth = fM.stringWidth(nodeStr);
double nodeHeight = fM.getHeight();
double nodeAscent = fM.getAscent();
WidthResult wr = widthResult(t, fM);
g2.drawString(nodeStr, (float) (nodeTab + start.getX()), (float) (start.getY() + nodeAscent));
if (t.isLeaf()) {
return nodeWidth;
childStartX += cWidth;
if (i < t.children().length - 1) {
childStartX += sisterSkip * fM.stringWidth(" ");
代码示例来源:origin: runelite/runelite
private void renderWidgetText(Graphics2D graphics, Rectangle bounds, int itemId, Color color)
{
if (itemId == -1)
{
return;
}
String text = itemId + "";
FontMetrics fm = graphics.getFontMetrics();
Rectangle2D textBounds = fm.getStringBounds(text, graphics);
int textX = (int) (bounds.getX() + (bounds.getWidth() / 2) - (textBounds.getWidth() / 2));
int textY = (int) (bounds.getY() + (bounds.getHeight() / 2) + (textBounds.getHeight() / 2));
graphics.setColor(Color.BLACK);
graphics.drawString(text, textX + 1, textY + 1);
graphics.setColor(color);
graphics.drawString(text, textX, textY);
}
代码示例来源:origin: signalapp/BitHub
public static byte[] createFor(String price) throws IOException {
byte[] badgeBackground = Resources.toByteArray(Resources.getResource("assets/badge.png"));
BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(badgeBackground));
Graphics2D graphics = bufferedImage.createGraphics();
graphics.setFont(new Font("OpenSans", Font.PLAIN, 34));
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
graphics.drawString(price + " USD", 86, 45);
graphics.dispose();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "png", baos);
return baos.toByteArray();
}
代码示例来源:origin: kevin-wayne/algs4
/**
* Write the given text string in the current font, left-aligned at (<em>x</em>, <em>y</em>).
* @param x the <em>x</em>-coordinate of the text
* @param y the <em>y</em>-coordinate of the text
* @param text the text
*/
public static void textLeft(double x, double y, String text) {
if (text == null) throw new IllegalArgumentException();
offscreen.setFont(font);
FontMetrics metrics = offscreen.getFontMetrics();
double xs = scaleX(x);
double ys = scaleY(y);
int hs = metrics.getDescent();
offscreen.drawString(text, (float) xs, (float) (ys + hs));
draw();
}
代码示例来源:origin: stackoverflow.com
BufferedImage image = new BufferedImage(144, 32, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setFont(new Font("Dialog", Font.PLAIN, 24));
Graphics2D graphics = (Graphics2D) g;
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
graphics.drawString("Hello World!", 6, 24);
ImageIO.write(image, "png", new File("text.png"));
for (int y = 0; y < 32; y++) {
StringBuilder sb = new StringBuilder();
for (int x = 0; x < 144; x++)
sb.append(image.getRGB(x, y) == -16777216 ? " " : image.getRGB(x, y) == -1 ? "#" : "*");
if (sb.toString().trim().isEmpty()) continue;
System.out.println(sb);
}
代码示例来源:origin: apache/geode
g.draw(path);
g.fillArc(startX, y - CIRCLE_WIDTH / 2, CIRCLE_WIDTH, CIRCLE_WIDTH, 0, 360);
g.drawString(label, startX + LABEL_OFFSET, y - LABEL_OFFSET);
} else {
int startX = x1;
path.lineTo(endX + ARROW_WIDTH, y + ARROW_WIDTH);
g.draw(path);
int labelWidth = g.getFontMetrics().stringWidth(label);
g.fillArc(startX - CIRCLE_WIDTH / 2, y - CIRCLE_WIDTH / 2, CIRCLE_WIDTH, CIRCLE_WIDTH, 0,
360);
g.drawString(label, startX - LABEL_OFFSET - labelWidth, y - LABEL_OFFSET);
代码示例来源:origin: libgdx/libgdx
protected void paintComponent (Graphics graphics) {
super.paintComponent(graphics);
Graphics2D g = (Graphics2D)graphics;
int width = getWidth();
int height = getHeight();
g.setColor(bgColor);
g.fillRect(border, border, width - border * 2, height - border * 2);
int maxKnobX = width - border - KNOB_WIDTH;
int knobX = (int)((width - border * 2 - KNOB_WIDTH) * (value - sliderMin) / (sliderMax - sliderMin)) + border;
g.setColor(knobColor);
g.fillRect(Math.max(border, Math.min(maxKnobX, knobX)), 0, KNOB_WIDTH, height);
float displayValue = (int)(value * 10) / 10f;
String label = displayValue == (int)displayValue ? String.valueOf((int)displayValue) : String.valueOf(displayValue);
FontMetrics metrics = g.getFontMetrics();
int labelWidth = metrics.stringWidth(label);
g.setColor(Color.white);
g.drawString(label, width / 2 - labelWidth / 2, height / 2 + metrics.getAscent() / 2);
}
代码示例来源:origin: marytts/marytts
if (positionCursor != null) {
int x = positionCursor.getX(this);
g.setColor(positionCursor.getColor());
g.drawLine(x, positionCursor.getYMin(this), x, positionCursor.getYMax(this));
if (rangeCursor != null) {
int x = rangeCursor.getX(this);
g.setColor(rangeCursor.getColor());
g.drawLine(x, rangeCursor.getYMin(this), x, rangeCursor.getYMax(this));
AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f);
g.setComposite(ac);
g.fillRect(positionCursor.getX(this), positionCursor.getYMin(this),
rangeCursor.getX(this) - positionCursor.getX(this),
rangeCursor.getYMax(this) - positionCursor.getYMin(this));
g.setColor(valueLabel.getColor());
g.drawString(valueLabel.getText(), valueLabel.getX(this), valueLabel.getY(this));
代码示例来源:origin: looly/hutool
@Override
public Image createImage(String code) {
final BufferedImage image = new BufferedImage(this.width, this.height, BufferedImage.TYPE_INT_RGB);
final Graphics2D g = ImageUtil.createGraphics(image, ObjectUtil.defaultIfNull(this.background, Color.WHITE));
// 画字符串
g.setFont(font);
final int len = this.generator.getLength();
int charWidth = width / (len + 2);
for (int i = 0; i < len; i++) {
// 产生随机的颜色值,让输出的每个字符的颜色值都将不同。
g.setColor(ImageUtil.randomColor());
g.drawString(String.valueOf(code.charAt(i)), (i + 1) * charWidth, height - 4);
}
// g.drawString(code, 1, height - 4);
shear(g, width, height, Color.white);
drawThickLine(g, 0, RandomUtil.randomInt(height) + 1, width, RandomUtil.randomInt(height) + 1, this.interfereCount, ImageUtil.randomColor());
return image;
}
代码示例来源:origin: nodebox/nodebox
public static void drawShadowText(Graphics2D g2, String s, int x, int y, Color shadowColor, int offset) {
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
Color c = g2.getColor();
g2.setColor(shadowColor);
g2.drawString(s, x, y + offset);
g2.setColor(c);
g2.drawString(s, x, y);
}
代码示例来源:origin: stackoverflow.com
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
String yLabel = ((int) ((getMinScore() + (getMaxScore() - getMinScore()) * ((i * 1.0) / numberYDivisions)) * 100)) / 100.0 + "";
FontMetrics metrics = g2.getFontMetrics();
int labelWidth = metrics.stringWidth(yLabel);
g2.drawString(yLabel, x0 - labelWidth - 5, y0 + (metrics.getHeight() / 2) - 3);
String xLabel = i + "";
FontMetrics metrics = g2.getFontMetrics();
int labelWidth = metrics.stringWidth(xLabel);
g2.drawString(xLabel, x0 - labelWidth / 2, y0 + metrics.getHeight() + 3);
代码示例来源:origin: stackoverflow.com
String s = "Hello, world!";
FontMetrics fm = g2d.getFontMetrics();
int x = img.getWidth() - fm.stringWidth(s) - 5;
int y = fm.getHeight();
g2d.drawString(s, x, y);
g2d.dispose();
return img;
代码示例来源:origin: runelite/runelite
private void renderInventory(Graphics2D graphics)
{
Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY);
if (inventoryWidget == null || inventoryWidget.isHidden())
{
return;
}
for (WidgetItem item : inventoryWidget.getWidgetItems())
{
Rectangle slotBounds = item.getCanvasBounds();
String idText = "" + item.getId();
FontMetrics fm = graphics.getFontMetrics();
Rectangle2D textBounds = fm.getStringBounds(idText, graphics);
int textX = (int) (slotBounds.getX() + (slotBounds.getWidth() / 2) - (textBounds.getWidth() / 2));
int textY = (int) (slotBounds.getY() + (slotBounds.getHeight() / 2) + (textBounds.getHeight() / 2));
graphics.setColor(new Color(255, 255, 255, 65));
graphics.fill(slotBounds);
graphics.setColor(Color.BLACK);
graphics.drawString(idText, textX + 1, textY + 1);
graphics.setColor(YELLOW);
graphics.drawString(idText, textX, textY);
}
}
内容来源于网络,如有侵权,请联系作者删除!