本文整理汇总了Java中java.awt.Font.getTransform方法的典型用法代码示例。如果您正苦于以下问题:Java Font.getTransform方法的具体用法?Java Font.getTransform怎么用?Java Font.getTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.awt.Font
的用法示例。
在下文中一共展示了Font.getTransform方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: StandardGlyphVector
import java.awt.Font; //导入方法依赖的package包/类
public StandardGlyphVector(Font font, FontRenderContext frc, int[] glyphs, float[] positions,
int[] indices, int flags) {
initGlyphVector(font, frc, glyphs, positions, indices, flags);
// this code should go into layout
float track = getTracking(font);
if (track != 0) {
track *= font.getSize2D();
Point2D.Float trackPt = new Point2D.Float(track, 0); // advance delta
if (font.isTransformed()) {
AffineTransform at = font.getTransform();
at.deltaTransform(trackPt, trackPt);
}
// how do we know its a base glyph
// for now, it is if the natural advance of the glyph is non-zero
Font2D f2d = FontUtilities.getFont2D(font);
FontStrike strike = f2d.getStrike(font, frc);
float[] deltas = { trackPt.x, trackPt.y };
for (int j = 0; j < deltas.length; ++j) {
float inc = deltas[j];
if (inc != 0) {
float delta = 0;
for (int i = j, n = 0; n < glyphs.length; i += 2) {
if (strike.getGlyphAdvance(glyphs[n++]) != 0) { // might be an inadequate test
positions[i] += delta;
delta += inc;
}
}
positions[positions.length-2+j] += delta;
}
}
}
}
示例2: getAAHintIntVal
import java.awt.Font; //导入方法依赖的package包/类
public static int getAAHintIntVal(Font2D font2D, Font font,
FontRenderContext frc) {
Object aa = frc.getAntiAliasingHint();
if (aa == VALUE_TEXT_ANTIALIAS_OFF ||
aa == VALUE_TEXT_ANTIALIAS_DEFAULT) {
return INTVAL_TEXT_ANTIALIAS_OFF;
} else if (aa == VALUE_TEXT_ANTIALIAS_ON) {
return INTVAL_TEXT_ANTIALIAS_ON;
} else if (aa == VALUE_TEXT_ANTIALIAS_GASP) {
/* FRC.isIdentity() would have been useful */
int ptSize;
AffineTransform tx = frc.getTransform();
if (tx.isIdentity() && !font.isTransformed()) {
ptSize = font.getSize();
} else {
/* one or both transforms is not identity */
float size = font.getSize2D();
if (tx.isIdentity()) {
tx = font.getTransform();
tx.scale(size, size);
} else {
tx.scale(size, size);
if (font.isTransformed()) {
tx.concatenate(font.getTransform());
}
}
double shearx = tx.getShearX();
double scaley = tx.getScaleY();
if (shearx != 0) {
scaley = Math.sqrt(shearx * shearx + scaley * scaley);
}
ptSize = (int)(Math.abs(scaley)+0.5);
}
if (font2D.useAAForPtSize(ptSize)) {
return INTVAL_TEXT_ANTIALIAS_ON;
} else {
return INTVAL_TEXT_ANTIALIAS_OFF;
}
} else if (aa == VALUE_TEXT_ANTIALIAS_LCD_HRGB ||
aa == VALUE_TEXT_ANTIALIAS_LCD_HBGR) {
return INTVAL_TEXT_ANTIALIAS_LCD_HRGB;
} else if (aa == VALUE_TEXT_ANTIALIAS_LCD_VRGB ||
aa == VALUE_TEXT_ANTIALIAS_LCD_VBGR) {
return INTVAL_TEXT_ANTIALIAS_LCD_VRGB;
} else {
return INTVAL_TEXT_ANTIALIAS_OFF;
}
}