2016-11-10 6 views
-1

の色を否定私は、グラフィックキャンバスに図形を描画する方法上の任意の情報を見つけることができませんが、私が描くものを確認することが背景JAVA - スイング - ドロー/反転でいっぱい/デスティネーションキャンバス

と同じ色ではありませんそこにいくつかのソリューションがありますが、それらはすべて、ピクセル操作/ループまたはフィルタでのみ描画される画像を使用します。それは常に表示

あるので、私は長方形の背景の反転色になりたい私はまた、別のコンポジットの操作を試してみましたが、私は

欲しいものなしのスーツは、私は

g.setColor(color.white) // relevant in this case ? not sure 
g.fillRect(...) 

を行うと言うことができます私はより多くのコードを提供するカント申し訳ありませんが、私は本当に、あなたのpaintメソッドは、現在の色を取得することができ、この

おかげ

+1

ジャスト側としてあなたはSwingアプリケーションでキャンバスを使用すべきではありません注意してください。キャンバスは重量級のツールキットであるAWTの一部です。Swingは軽量のツールキットであり、通常は2つを混在させるべきではありません。キャンバスをJPanelに置き換えることを強くお勧めします。 –

+0

"グラフィックキャンバスに図形を描く方法についての情報は見つけられません。描くものが背景と同じ色でないことを確認してください。" – gpasch

答えて

1

を達成する方法を知りませんその補色用D検索:

 Color originalColor = g.getColor(); 

     g.setColor(complementaryColor(originalColor)); 
     g.fillRect(0, 0, 50, 50); 

complementaryColorメソッドは、このトピックからインスピレーションを得ている:Reverse opposing colors

Color complementaryColor(final Color bgColor) { 

    Color complement = new Color(255 - bgColor.getRed(), 
      255 - bgColor.getGreen(), 
      255 - bgColor.getBlue()); 

    return complement; 
} 
関連する問題