概要

AffineTransformで図形や画像を反転して表示します。

サンプルコード

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);
// Rectangle r = copyright.getBounds();
// at.translate(r.getWidth(), r.getHeight());
// AffineTransform at = new AffineTransform(
//    -1d, 0d, 0d, 1d, r.getWidth(), r.getHeight());
Shape copyleft = at.createTransformedShape(copyright);
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、コピーライトの文字を鏡像(左右)反転してコピーレフトの文字アイコンを作成しています。

  • 上下反転の場合はAffineTransform.getScaleInstance(1d, -1d)が使用可能

参考リンク

コメント