問題タブ [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 投票する
4 に答える
3318 参照

java - アプリケーション/スレッドで費やされた時間の測定

私はJavaでシミュレーションを書いています。これにより、オブジェクトはニュートン物理学の下で動作します。オブジェクトに力が加えられ、その結果生じる速度によって、オブジェクトが画面上を移動する場合があります。シミュレーションの性質は、アニメーションループの現在の反復と前の反復の間で経過した時間に応じて、オブジェクトが個別のステップで移動することを意味します。例えば

アニメーションスレッドが何らかの方法で遅延し、長い時間が経過すると問題が発生します(Windowsの場合、最小化/最大化をクリックして押し続けると再描画が妨げられます)。これにより、オブジェクトが驚くべき速度で移動します。私の質問:ウォールクロック時間ではなくアニメーションスレッドで費やされた時間を決定する方法はありますか、または誰かがこの問題を回避するための回避策を提案できますか?

これまでの私の唯一の考えはdeltaMillis、いくつかの上限によって制約することです。

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

java - Javaで多くのSVGを高性能に表示する方法

私が欲しいもの

私の目標は、Java の単一の描画領域に多数の SVG 画像を表示できるようにすることです。それぞれに独自の移動/回転/スケール値があります。これを可能にする最も簡単なソリューションを探しています。オプションでOpenGLを使用して高速化することもできます。

私が試したこと

私の最初の単純なアプローチは SVGSalamander を使用して JPanel に直接描画することでしたが、パフォーマンスは悲惨なものでした。

私はいろいろ調べて、各 SVG を createCompatibleImage で作成された BufferedImage に手動で変換し、必要な変換を行ってから、ダブル バッファリングを使用してそれを描画する必要があることを学びました。ここでいくつかの問題に遭遇しました。続行する前に、物事を単純化するためのフレームワークを探してみました。

私が見たもの

利用可能なオプションに少し圧倒されたので、SO に助けを求めています。私は見てきました:

しかし、私が作業を開始するのに最適なものを決めることができませんでした.

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

java - オブジェクトの場所を取得するJava2D(コーナーではない)

Javaでオブジェクトの左上のx/y位置の代わりにJLabelの位置を取得するにはどうすればよいですか?

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

java - Java2D距離衝突検出

私の現在の設定は、衝突が発生した場合にのみ役立ちます。明らかにこれよりも良いものがなければなりませんか?

先制衝突検出を行うにはどうすればよいですか?

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

java - Java:FontMetricsのインスタンスを取得するためのより使いやすい方法

FontMetricsのインスタンスを取得するためのよりフレンドリーな方法はありますか

次の例のため、私はこの方法が嫌いです。

ゲームでメニューを作成し、画面の中央にすべてのメニュー項目を配置する場合は、フォントメトリックが必要です。ただし、ほとんどの場合、メニュー項目はクリック可能です。だから私は配列を作成し、Rectanglesすべての長方形がアイテムの周りに収まるので、マウスが押されたときに簡単に使用できます

ただし、rectを作成するには、座標にFontMetricsも必要です。つまり、これは、メニューのペイントメソッドですべての長方形を作成する必要があることを意味します。

したがって、コンストラクターによって呼び出されるメソッドでRectanglesを構築できるように、FontMetricsを取得する方法が必要です。

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

java - カラーパターンを使用して画像をカットするにはどうすればよいですか?

私は画像を色でカットする小さなプログラムを開発しています。

これは、このサンプル画像を使用して説明するのが最も簡単です。

紫色の斑点のある黒

そして、黒い枠を使わずに、紫色の形だけで新しい画像を作成したいと思います。

誰かアイデアはありますか?私はJava2Dを使用しているので、最初の画像の紫色の領域でオブジェクト「形状」を作成する必要があると思います。

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

java - ピタゴラスの木の描画の改善

ピタゴラス ツリー フラクタルを描画するプログラムを作成しました。誰でもそれを改善する方法を見ることができますか? 現在は 89 LOC です。

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

java - Java2d: JPanel セットの背景色が機能しない

以下に示すコードがあります。

正常に機能し、パネルが黒い背景で表示されます。しかし、何もしない paint メソッドを実装すると、色がデフォルトの色、つまり灰色に変わります。

graphics.setColor() を設定しようとしましたが、役に立ちませんでした。

0 投票する
5 に答える
4445 参照

java - Java2d: 軸を変換する

Java2d を使用してアプリケーションを開発しています。私が気づいた奇妙なことは、原点が左上隅にあり、正の x が右に進み、正の y が下に増加することです。

原点を左下に移動する方法はありますか?

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

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

math - SWTで3点を指定して円弧を描く

swtJavaライブラリを使用しているiamと問題があるiam。

gc draw arcメソッドは、次の引数を取りますGC.drawArc(int x、int y、int width、int height、int startAngle、int endAngle);

しかし、ソース、宛先、コントロールポイントの3つの引数を使用して円弧を描画できるようにしたいと思います。

これらのパラメータ間で変換する式はありますか?

QuadCurve2Dクラスは私が望むことを正確に実行しますが、それはswtではなくAWTです...そして私はswtの下でjava2dを使おうとしましたが、それは非常に遅かったです...。

解決策はありますか?

更新

私は解決策を見つけました:

Arc2dオブジェクトでcreateArcByCenterメソッドを使用すると、3つのパラメーターを指定して、同等のx、y、幅、高さを取得して、gcオブジェクトで使用できます。

より良い解決策はありますか?