public void paint(Graphics g) {
Graphics2D g2;
g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY); Font f = new Font("Times",Font.BOLD, 24);
AttributedString ats = new AttributedString("The Starry Night");
ImageGraphicAttribute iga = new ImageGraphicAttribute(img, (int) BOTTOM_ALIGNMENT);
ats.addAttribute(TextAttribute.CHAR_REPLACEMENT, iga, 4, 5);
ats.addAttribute(TextAttribute.CHAR_REPLACEMENT, iga, 11, 12);
ats.addAttribute(TextAttribute.FONT, f, 0, 18);
AttributedCharacterIterator iter = ats.getIterator(); FontRenderContext frc = g2.getFontRenderContext();
tl = new TextLayout(iter, frc);
g2.setColor(Color.red);
tl.draw(g2, (float)20, (float)30);
}
主要是public void addAttribute(AttributedCharacterIterator.Attribute attribute,Object value,int beginIndex,int endIndex) 这个方法不知道是如何添加的.
以及ImageGraphicAttribute 这个类究竟是做什么的。 看了API文档也没看懂。
Graphics2D g2;
g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY); Font f = new Font("Times",Font.BOLD, 24);
AttributedString ats = new AttributedString("The Starry Night");
ImageGraphicAttribute iga = new ImageGraphicAttribute(img, (int) BOTTOM_ALIGNMENT);
ats.addAttribute(TextAttribute.CHAR_REPLACEMENT, iga, 4, 5);
ats.addAttribute(TextAttribute.CHAR_REPLACEMENT, iga, 11, 12);
ats.addAttribute(TextAttribute.FONT, f, 0, 18);
AttributedCharacterIterator iter = ats.getIterator(); FontRenderContext frc = g2.getFontRenderContext();
tl = new TextLayout(iter, frc);
g2.setColor(Color.red);
tl.draw(g2, (float)20, (float)30);
}
主要是public void addAttribute(AttributedCharacterIterator.Attribute attribute,Object value,int beginIndex,int endIndex) 这个方法不知道是如何添加的.
以及ImageGraphicAttribute 这个类究竟是做什么的。 看了API文档也没看懂。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货