TITLE:Shapeの反転

Shapeの反転

Posted by terai at 2008-07-28

概要

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

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

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);
//at.translate(-copyright.getBounds().getWidth(), 0);
//AffineTransform at = new AffineTransform(-1d,0,0,1d,-copyright.getBounds().getWidth(),0);
//AffineTransform at = new AffineTransform(-1d,0,0,1d,0,0);
Shape copyleft = at.createTransformedShape(copyright);

解説

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

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

コメント