3

Java SE 7 では、BufferedImageオブジェクトを作成します。

BufferedImage i = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = i.createGraphics();

次にfillPolygondrawImage、 などの呼び出しをいくつか使用して、画像の一部を色で塗りつぶします (一部の色のアルファは 255 未満であることに注意してください)。

Area私の質問は、でペイントされた領域のみを含むオブジェクトをどのように構築できますBufferedImageか? API ドキュメントを読むと、メソッドRasterによって返されたものを検査することで実行できると思いますgetAlphaRasterが、これを行うためのより簡単な (そしてより速い?) 方法があることを願っています。

4

1 に答える 1

1

..Areaペイントされた領域のみを含むオブジェクトを作成するにはどうすればよいBufferedImageですか?

このgetOutline(..)ソースに見られる方法は、画像の不透明部分と半透明部分を区別するために使用できます。そうは言っても、このメソッドは、そのピクセルのターゲットカラーとイメージカラーの間の「完全一致」のみをチェックします。代わりにアルファ<255をチェックするように調整する必要があります。

このクラスは、ポイントがいくつかのインスタンスShapeContainmentのいずれかに該当するかどうかを判断するために使用されます。Area

Java-2D と画像を扱うその他のコードはOneRing&で見ることができますShapeCollision

于 2013-11-14T23:11:41.513 に答える