Я пытаюсь нарисовать черную строку на моем экране, а над черной - желтую строку. Когда я рисую желтую строку со значением альфа 255, она выглядит так, как должна. Когда я изменяю значение альфа на 254, вдруг вы можете видеть, что желтая строка на один пиксель слишком коротка справа.
Есть какие-нибудь подсказки, почему это происходит? И если да, как я могу предотвратить это?
Вот код в моей ничьей:
DrawingUtils.drawStringInMiddle(g, Settings.name, x, y);
g.setColor(new Color(255, 255, 0, 255));
DrawingUtils.drawStringInMiddle(g, Settings.name, x, y);
Это результат:
Если я сейчас изменю альфа с 255 на 254, это произойдет:
DrawingUtils.drawStringInMiddle(g, Settings.name, x, y);
g.setColor(new Color(255, 255, 0, 254));
DrawingUtils.drawStringInMiddle(g, Settings.name, x, y);
Вот функция DrawingUtils.drawStringInMiddle:
public static void drawStringInMiddle(Graphics g, String s, int x, int y) {
FontMetrics m = g.getFontMetrics();
g.drawString(s, x - m.stringWidth(s) / 2, y - m.getDescent() / 2);
}