本文整理匯總了Java中java.awt.font.GlyphVector.setGlyphPosition方法的典型用法代碼示例。如果您正苦於以下問題:Java GlyphVector.setGlyphPosition方法的具體用法?Java GlyphVector.setGlyphPosition怎麽用?Java GlyphVector.setGlyphPosition使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.awt.font.GlyphVector
的用法示例。
在下文中一共展示了GlyphVector.setGlyphPosition方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: main
import java.awt.font.GlyphVector; //導入方法依賴的package包/類
public static void main(String[] args)
{
Font defaultFont = new Font(null);
FontRenderContext defaultFrc = new FontRenderContext(new AffineTransform(),
true, true);
GlyphVector gv = defaultFont.createGlyphVector(defaultFrc, "test");
//this causes the bounds to be cached
//which is necessary to trigger the bug
gv.getGlyphLogicalBounds(0);
//this correctly gets the position of the overall advance
Point2D glyphPosition = gv.getGlyphPosition(gv.getNumGlyphs());
// this sets the position of the overall advance,
// but also incorrectly tries to clear the bounds cache
// of a specific glyph indexed by the glyphIndex parameter
// even if the glyphIndex represents the overall advance
// (i.e. if glyphIndex == getNumGlyphs())
gv.setGlyphPosition(gv.getNumGlyphs(), glyphPosition);
}
示例2: massage_glyphs
import java.awt.font.GlyphVector; //導入方法依賴的package包/類
private void massage_glyphs(GlyphVector gv, int start, int n, Line l) {
Point2D pos0 = gv.getGlyphPosition(0);
// There's one big assumption here that in a monospaced font all the
// Y placements are identical. So we use the placement for the first
// glyph only.
newp.y = (int) pos0.getY();
int col = (int) pos0.getX();
for (int gx = 0; gx < n; gx++) {
newp.x = col;
gv.setGlyphPosition(gx, newp);
col += l.width(metrics, start + gx) * metrics.width;
}
}