TITLE:Shapeの反転
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2008-07-28
*Shapeの反転 [#ac299306]
AffineTransform で図形や画像を反転します。

-&jnlp;
-&jar;
-&zip;

//#screenshot
#ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTN731lMzI/AAAAAAAAAbk/Wc0qp3ocR88/s800/HorizontalFlip.png)

**サンプルコード [#ie746204]
#code(link){{
Font font = new Font("Monospace", Font.PLAIN, 200);
FontRenderContext frc = new FontRenderContext(null, true, true);
Shape copyright = new TextLayout("\u00a9", font, frc).getOutline(null);
AffineTransform at = AffineTransform.getScaleInstance(-1.0, 1.0);
//Rectangle r = copyright.getBounds();
//at.translate(r.getWidth(), r.getHeight());
//AffineTransform at = new AffineTransform(-1d,0,0,1d,r.getWidth(), r.getHeight());
Shape copyleft = at.createTransformedShape(copyright);
}}

**解説 [#m5fa2d66]
上記のサンプルでは、コピーライトの文字を鏡像(左右)反転して、コピーレフトのアイコン(([http://en.wikipedia.org/wiki/Copyleft コピーレフト - Wikipedia]))を作成しています。

上下反転の場合は、AffineTransform.getScaleInstance(1.0, -1.0)を使用します。

**参考リンク [#fd86c595]
-[[AffineTransformOpで画像を反転する>Swing/AffineTransformOp]]

**コメント [#c9ea5267]
#comment