Swing/AffineTransformOp のバックアップソース(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/AffineTransformOp へ行く。
- 1 (2010-01-12 (火) 00:12:17)
- 2 (2010-12-12 (日) 23:16:34)
- 3 (2013-01-02 (水) 14:43:26)
- 4 (2014-12-13 (土) 18:25:37)
- 5 (2015-03-17 (火) 18:22:33)
- 6 (2017-01-05 (木) 14:32:58)
- 7 (2017-09-04 (月) 15:48:42)
- 8 (2018-09-21 (金) 15:53:43)
- 9 (2018-12-13 (木) 18:35:08)
- 10 (2020-11-12 (木) 09:38:40)
- 11 (2022-11-11 (金) 14:48:35)
- 12 (2024-03-10 (日) 20:11:07)
TITLE:AffineTransformOpで画像を反転する #navi(../) #tags() RIGHT:Posted by &author(aterai); at 2010-01-11 *AffineTransformOpで画像を反転する [#j7db4b3d] AffineTransformOpなどを使って、画像の上下反転、左右反転を行います。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTHczsN2NI/AAAAAAAAARM/D8gpa0-KfEI/s800/AffineTransformOp.png) **サンプルコード [#yf8dbae5] #code(link){{ int w = bi.getWidth(this); int h = bi.getHeight(this); AffineTransform at = AffineTransform.getScaleInstance(-1.0, 1.0); at.translate(-w, 0); AffineTransformOp atOp = new AffineTransformOp(at, null); g.drawImage(atOp.filter(bi, null), 0, 0, w, h, this); }} **解説 [#pb25b986] 上記のサンプルでは、AffineTransformOp#filter(...)メソッドで左右反転したBufferedImageを生成しています。 以下のような方法で上下反転することもできます。 #code{{ AffineTransform at = AffineTransform.getScaleInstance(1.0, -1.0); at.translate(0, -h); g2.drawImage(bi, at, this); }} **参考リンク [#m98de6d0] -[[Shapeの反転>Swing/HorizontalFlip]] **コメント [#k216642b] #comment