Swing/HorizontalFlip のバックアップの現在との差分(No.8)
- category: swing folder: HorizontalFlip title: Shapeの反転 tags: [Shape, Font, AffineTransform] author: aterai pubdate: 2008-07-28T12:01:57+09:00 description: AffineTransformで図形や画像を反転して表示します。 image:
概要
AffineTransform
で図形や画像を反転して表示します。
Screenshot
Advertisement
サンプルコード
Font font = new Font(Font.MONOSPACED, Font.PLAIN, 200);
FontRenderContext frc = new FontRenderContext(null, true, true);
Shape copyright = new TextLayout("\u00a9", font, frc).getOutline(null);
AffineTransform at = AffineTransform.getScaleInstance(-1d, 1d);
#spandel
//Rectangle r = copyright.getBounds();
#spanend
#spandel
//at.translate(r.getWidth(), r.getHeight());
#spanend
#spandel
//AffineTransform at = new AffineTransform(-1d, 0d, 0d, 1d, r.getWidth(), r.getHeight());
#spanend
#spanadd
// Rectangle r = copyright.getBounds();
#spanend
#spanadd
// at.translate(r.getWidth(), r.getHeight());
#spanend
#spanadd
// AffineTransform at = new AffineTransform(
#spanend
#spanadd
// -1d, 0d, 0d, 1d, r.getWidth(), r.getHeight());
#spanend
Shape copyleft = at.createTransformedShape(copyright);
View in GitHub: Java, Kotlin解説
上記のサンプルでは、コピーライトの文字を鏡像(左右)反転して、コピーレフトのアイコンを作成しています。 上記のサンプルでは、コピーライトの文字を鏡像(左右)反転してコピーレフトの文字アイコンを作成しています。 上下反転の場合は、AffineTransform.getScaleInstance(1d, -1d)
を使用します。
- 上下反転の場合は
AffineTransform.getScaleInstance(1d, -1d)
が使用可能