問題タブ [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.
java - JPanel での JLabel アニメーション
いろいろ調べた結果、JLabel を拡張してカスタム イメージ コンポーネントを実装するのが最善であることがわかりました。これまでのところ、複数の「画像」(レイアウトを壊さずにjlabels)を追加できるので、うまくいきました。誰かが私に答えてくれることを願っています。
- 画面全体で JLabels をアニメーション化するには、コンポーネントを必要とし、最終的にアニメーション化する
setlayout(null);
必要があることに気付きました。これはコンポーネントをアニメーション化するためのベスト プラクティスですか、それともひどい方法ですか? 最終的にはアニメーションのクラスを作る予定ですが、やりたくないのでやめなければなりません。setbounds
setlocation(x,y);
簡単なレビューチェックのために関連コードを含めました。
ありがとうございました!
java - 2つのJavaGUI関連のシステムプロパティの影響を理解するのに助けが必要
Javaで軽量コンポーネントと重量コンポーネントを混在させることに問題がありました。
(stackoverflowの外で)私に提案された解決策は、システムプロパティをtrueに設定することsun.awt.noerasebackground
でしsun.java2d.noddraw
た。
この変更がSwingベースのJavaアプリケーション(WinXPで実行され、多くのSwingコンポーネントを備えている)にどのような影響を与える可能性があるかを知りたいです。
どのような問題が発生する可能性がありますか?パフォーマンスに影響はありますか?他の何かが機能しなくなる可能性がありますか?
ありがとう、Yoav
java - Java: AffineTransform を使用して画像をスケーリングすると線が表示される
画像のスケーリングに問題があります。次のコードを使用して画像を拡大縮小すると、画像の下部または右側に線が表示されます。
元の画像
スケーリングされた画像
線が表示される理由を知っている人はいますか?
ありがとう!
編集:
完全なメソッド コードを追加しました。
メソッド呼び出しの maxWidth および maxHeight パラメーターは、SPINNER_MAX_* 定数に設定されます。
ありがとう!
java - Rectangle クラスを拡張して、contains および intersects メソッドを使用することにより、衝突検出を実装します。
次のように、長方形の単純な 2D 衝突検出を実装するのが良い考えかどうかを知りたいです。
- Rectangle クラスを拡張した独自の衝突検出クラスを作成します。
- 次に、そのオブジェクトを次のようにインスタンス化するとき
Collision col = new Rectangle();
<- 私はそれをすべきですか、それとも避けるべきものですか? 「できる」ことは承知していますが、そうすべきですか? contains()
およびintersects()
メソッドのために Rectangle クラスを拡張したい。Javaで2D衝突検出のためにそれを行うべきですか、それとも何か他のことをするべきですか?
java - Javaでベジェパスのコントロールポイントを描画するにはどうすればよいですか?
ベジェ曲線のパスを作成しましたが、パスを描画するのに問題なく機能します。しかし、パスと一緒にコントロールポイントを描画する方法がわかりません。それは可能ですか、それとも別のデータ構造でそれらを追跡する必要がありますか?
更新:コントロールポイントを描画する理由は、ユーザーがコントロールポイントのハンドルを使用して曲線を編集できるようにするためです。
私はパスを作成しています:
そしてそれを描く:
trashgodが提案したように、 PathIteratorでテストしましたが、ユーザーがコントロールポイントを編集できるようにする場合、その方法で曲線を管理するのは困難です。
java - JavaでPath2Dの長さを計算するには?
Path2D で表されるパスがいくつかあります。パスは、互いに接続された複数の CubicCurve2D または Line2D セグメントで構成されます。パスの始点から終点までの長さを計算または取得したいと考えています。どのように計算または取得できますか?出来ますか?API ドキュメントを確認しましたが、有用なメソッドが見つかりませんでした。
java - 座標に別の象限を使用してJPanelを描画するにはどうすればよいですか?
をオーバーライドして、JPanelにいくつかの形状を描画したいと思いますpaintComponent
。パンとズームができるようにしたいと思います。パンとズームは、オブジェクトAffineTransform
のsetTransform
メソッドで簡単に実行できます。Graphics2D
その後、簡単に図形を描画できますg2.draw(myShape)
。図形は「ワールド座標」で定義されているため、パンするときに正常に機能し、描画する前にキャンバス/JPanel座標に変換する必要があります。
次に、座標の象限を変更したいと思います。JPanelとコンピューターがよく使用する第4象限から、ユーザーが最もよく知っている第1象限まで。Xは同じですが、Y軸は下向きではなく上向きに増加する必要があります。によってオリゴを再定義するのは簡単ですnew Point(origo.x, -origo.y);
しかし、どうすればこの象限に図形を描くことができますか?キャンバスの座標ではなく、シェイプの座標(ワールド座標で定義)を保持したいと思います。ですから、何らかの方法でそれらを変換するか、オブジェクトを変換する必要があり、それを効率的Graphics2D
に実行したいと思います。私もこれを行うことができますか?AffineTransform
描画するための私のコード:
java - Java2Dで複数のBufferedImageを移動しますか?
Java2D で異なる BufferedImages をマウスドラッグするにはどうすればよいですか?
たとえば、10 個以上の画像がある場合、マウスが置かれている画像を移動するにはどうすればよいですか?
今、私は BufferedImage をインポートしています
そして、これをGraphics2Dでペイントしています
画像上を移動するたびに、画面全体を repaint() しています。私のマウスムーブクラスは次のとおりです
この方法で 1 つの画像を「ドラッグ」することはできますが、さらに個別にドラッグする場合はどうすればよいでしょうか?
java - Javaでの画像内のテキストのレンダリング
Java用の画像にテキストをレンダリングするための優れたライブラリはありますか?
Javaには2Dテキストライブラリhttp://java.sun.com/docs/books/tutorial/2d/text/index.htmlがありますが、使用するのに適したライブラリがあるかどうかはわかりません。
java - JavaでのPNGの操作
JavaでPNGを操作する簡単な方法はありますか?BufferedImageに読み込んで書き戻すことができることはわかっていますが、画像の端にクリアピクセルを追加する必要があります。これを行う簡単な方法はありますか?