問題タブ [java-2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
7118 参照

java - JPanel での JLabel アニメーション

いろいろ調べた結果、JLabel を拡張してカスタム イメージ コンポーネントを実装するのが最善であることがわかりました。これまでのところ、複数の「画像」(レイアウトを壊さずにjlabels)を追加できるので、うまくいきました。誰かが私に答えてくれることを願っています。

  • 画面全体で JLabels をアニメーション化するには、コンポーネントを必要とし、最終的にアニメーション化するsetlayout(null);必要があることに気付きました。これはコンポーネントをアニメーション化するためのベスト プラクティスですか、それともひどい方法ですか? 最終的にはアニメーションのクラスを作る予定ですが、やりたくないのでやめなければなりません。setboundssetlocation(x,y);

簡単なレビューチェックのために関連コードを含めました。

ありがとうございました!

0 投票する
1 に答える
1302 参照

java - 2つのJavaGUI関連のシステムプロパティの影響を理解するのに助けが必要

Javaで軽量コンポーネントと重量コンポーネントを混在させることに問題がありました。

奇妙なスイングのヘビー級と軽量のミキシングの問題

(stackoverflowの外で)私に提案された解決策は、システムプロパティをtrueに設定することsun.awt.noerasebackgroundでしsun.java2d.noddrawた。

この変更がSwingベースのJavaアプリケーション(WinXPで実行され、多くのSwingコンポーネントを備えている)にどのような影響を与える可能性があるかを知りたいです。

どのような問題が発生する可能性がありますか?パフォーマンスに影響はありますか?他の何かが機能しなくなる可能性がありますか?

ありがとう、Yoav

0 投票する
1 に答える
1359 参照

java - Java: AffineTransform を使用して画像をスケーリングすると線が表示される

画像のスケーリングに問題があります。次のコードを使用して画像を拡大縮小すると、画像の下部または右側に線が表示されます。

元の画像

ここに画像の説明を入力

スケーリングされた画像

ここに画像の説明を入力

線が表示される理由を知っている人はいますか?

ありがとう!

編集:

完全なメソッド コードを追加しました。

メソッド呼び出しの maxWidth および maxHeight パラメーターは、SPINNER_MAX_* 定数に設定されます。

ありがとう!

0 投票する
3 に答える
2635 参照

java - Rectangle クラスを拡張して、contains および intersects メソッドを使用することにより、衝突検出を実装します。

次のように、長方形の単純な 2D 衝突検出を実装するのが良い考えかどうかを知りたいです。

  1. Rectangle クラスを拡張した独自の衝突検出クラスを作成します。
  2. 次に、そのオブジェクトを次のようにインスタンス化するときCollision col = new Rectangle();<- 私はそれをすべきですか、それとも避けるべきものですか? 「できる」ことは承知していますが、そうすべきですか?
  3. contains()およびintersects()メソッドのために Rectangle クラスを拡張したい。Javaで2D衝突検出のためにそれを行うべきですか、それとも何か他のことをするべきですか?
0 投票する
1 に答える
1691 参照

java - Javaでベジェパスのコントロールポイントを描画するにはどうすればよいですか?

ベジェ曲線のパスを作成しましたが、パスを描画するのに問題なく機能します。しかし、パスと一緒にコントロールポイントを描画する方法がわかりません。それは可能ですか、それとも別のデータ構造でそれらを追跡する必要がありますか?

更新:コントロールポイントを描画する理由は、ユーザーがコントロールポイントのハンドルを使用して曲線を編集できるようにするためです。

私はパスを作成しています:

そしてそれを描く:

trashgodが提案したように、 PathIteratorでテストしましたが、ユーザーがコントロールポイントを編集できるようにする場合、その方法で曲線を管理するのは困難です。

0 投票する
4 に答える
2210 参照

java - JavaでPath2Dの長さを計算するには?

Path2D で表されるパスがいくつかあります。パスは、互いに接続された複数の CubicCurve2D または Line2D セグメントで構成されます。パスの始点から終点までの長さを計算または取得したいと考えています。どのように計算または取得できますか?出来ますか?API ドキュメントを確認しましたが、有用なメソッドが見つかりませんでした。

0 投票する
1 に答える
2797 参照

java - 座標に別の象限を使用してJPanelを描画するにはどうすればよいですか?

をオーバーライドして、JPanelにいくつかの形状を描画したいと思いますpaintComponent。パンとズームができるようにしたいと思います。パンとズームは、オブジェクトAffineTransformsetTransformメソッドで簡単に実行できます。Graphics2Dその後、簡単に図形を描画できますg2.draw(myShape)。図形は「ワールド座標」で定義されているため、パンするときに正常に機能し、描画する前にキャンバス/JPanel座標に変換する必要があります。

次に、座標の象限を変更したいと思います。JPanelとコンピューターがよく使用する第4象限から、ユーザーが最もよく知っている第1象限まで。Xは同じですが、Y軸は下向きではなく上向きに増加する必要があります。によってオリゴを再定義するのは簡単ですnew Point(origo.x, -origo.y);

しかし、どうすればこの象限に図形を描くことができますか?キャンバスの座標ではなく、シェイプの座標(ワールド座標で定義)を保持したいと思います。ですから、何らかの方法でそれらを変換するか、オブジェクトを変換する必要があり、それを効率的Graphics2Dに実行したいと思います。私もこれを行うことができますか?AffineTransform

描画するための私のコード:

0 投票する
6 に答える
1946 参照

java - Java2Dで複数のBufferedImageを移動しますか?

Java2D で異なる BufferedImages をマウスドラッグするにはどうすればよいですか?

たとえば、10 個以上の画像がある場合、マウスが置かれている画像を移動するにはどうすればよいですか?

今、私は BufferedImage をインポートしています

そして、これをGraphics2Dでペイントしています

画像上を移動するたびに、画面全体を repaint() しています。私のマウスムーブクラスは次のとおりです

この方法で 1 つの画像を「ドラッグ」することはできますが、さらに個別にドラッグする場合はどうすればよいでしょうか?

0 投票する
2 に答える
3960 参照

java - Javaでの画像内のテキストのレンダリング

Java用の画像にテキストをレンダリングするための優れたライブラリはありますか?

Javaには2Dテキストライブラリhttp://java.sun.com/docs/books/tutorial/2d/text/index.htmlがありますが、使用するのに適したライブラリがあるかどうかはわかりません。

0 投票する
2 に答える
621 参照

java - JavaでのPNGの操作

JavaでPNGを操作する簡単な方法はありますか?BufferedImageに読み込んで書き戻すことができることはわかっていますが、画像の端にクリアピクセルを追加する必要があります。これを行う簡単な方法はありますか?