teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2015/12/18 15:24

投稿

argius
argius

スコア9396

answer CHANGED
@@ -7,3 +7,13 @@
7
7
  あとは点滅ですかね。
8
8
  線の描画を一定のタイミングで、色を黒・赤・青・緑・黄色をローテーションさせて描画するとか。
9
9
  こちらのほうが少し複雑ですが、反転よりも見た目が見やすくなると思います。
10
+
11
+ ---
12
+
13
+ (追記)
14
+
15
+ 自分でも書いてみたので、良かったら参考にしてください。
16
+ (GIF画像付です。)
17
+
18
+ Swingで矩形選択範囲の表現 - argius note
19
+ [http://argius.hatenablog.jp/entry/2015/12/18/140928](http://argius.hatenablog.jp/entry/2015/12/18/140928)

1

Graphics\.setXORMode\(Color\)を踏まえて内容を改訂

2015/12/18 15:23

投稿

argius
argius

スコア9396

answer CHANGED
@@ -1,10 +1,9 @@
1
1
  画像に対してのラバーバンドは、透明ではなく、色の反転を使って表現されることが多いのではと思います。
2
2
 
3
+ (ここ↓訂正しました。)
3
- では、反転はどうするのかというと、簡単にはできなと思います。
4
+ では、反転はどうするのかというと、`Graphics.setXORMode(Color)`メソッドを使います。
4
- には見つけられせんでした
5
+ `g.setColor`の代わり、`g.setXORMode(Color.WHITE)`を指定します。この用途で、白をセットするのがやすくなると思い
5
6
 
6
- 実現するには、直線の部分を`drawLine`でなく、ドットで(`drawLine`で幅高さを1pxずつにして)描画して、それぞれの色はそのピクセルの反転色を計算して設定、のようにします。
7
-
8
- あとは点滅るとか。
7
+ あとは点滅すか
9
- 線の描画を一定のタイミングで、いくつかの(たとえば黒・赤・青・緑・黄色をローテーションさせて描画します。
8
+ 線の描画を一定のタイミングで、色黒・赤・青・緑・黄色をローテーションさせて描画するとか
10
- こちらのほうが簡単に実現きそうです。
9
+ こちらのほうが少し複雑ですが、反転よりも見た目が見やすくなると思います