Re: Draw bolder(ly)?
On 03/30/2015 10:08 PM, Knute Johnson wrote:
On 3/30/2015 5:46 PM, Jeff Higgins wrote:
On 03/30/2015 08:09 PM, Jeff Higgins wrote:
You might glean some ideas here:
Please do not go to the web site I just linked.
There is something really fucked up there.
OK, I won't. I did try changing the stroke but I'm not sure that works
when drawing characters but maybe I don't know what I'm doing.
package scratch;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.font.GlyphVector;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Scratch extends JPanel {
private static final int h = 100, w = 300;
private static final String text = "JAVA";
public void paint(Graphics g1) {
Graphics2D g = (Graphics2D) g1;
g.setPaint(new Color(255, 255, 255));
g.fillRect(0, 0, w, h);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
Font font = new Font(Font.SANS_SERIF, Font.BOLD, 24);
GlyphVector gv = font.createGlyphVector(g.getFontRenderContext(),
text);
Shape vector = gv.getOutline();
g.setStroke(new BasicStroke(2.0f));
g.setPaint(new Color(0, 0, 0));
g.setFont(font);
g.drawString(text, 10, 30);
g.translate(90, 30);
g.fill(vector);
g.translate(80, 0);
g.fill(vector);
g.draw(vector);
}
public static void main(String[] a) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setContentPane(new Scratch());
f.setSize(w, h);
f.setVisible(true);
}
});
}
}